1

UIView我已经设置了一个storyboard并使它成为一个出口。

 @property (nonatomic, weak) IBOutlet UIView *testView;

- (void)viewDidLoad方法中,我想像这样改变它的框架

CGRect frame = self.testView.frame;
frame.size.height = 2;
self.testView.frame = frame;

但它不起作用。谁能告诉我为什么?

4

4 回答 4

2

您可能在项目中启用了自动布局,如果是这样,那setFrame将直接不起作用。在这里查看更多信息

解决方案 :

  • 如果您不再需要,请禁用自动布局
  • 使用 autolayout 检查上面的链接。
于 2014-03-20T04:13:14.883 回答
0

尝试将高度更改为高数字,看看是否有所作为。我创建了用于更改和恢复高度的演示项目。希望这可以帮助。

https://github.com/rshankras/StackOverflowUIView

于 2014-03-20T03:56:36.897 回答
0

假设它连接到您的 XIB 在更改视图后执行以下操作 -

[self.view setNeedsDisplay];
于 2014-03-20T03:53:02.680 回答
0

查看属性左侧的小圆圈。是填充的还是空心的?如果它是空心的,则意味着您没有将故事板的这个特定元素连接到文件的所有者。

如果圆圈已填满,则插座已连接到情节提要上的某些内容。只需确保它连接到正确的实体,即您在其中声明 testView 的 UIViewController(或其子类)。

于 2014-03-20T03:47:12.003 回答