更改UIView框架

时间:2014-03-20 03:34:49

标签: ios uiview frame cgrect cgrectmake

我已在UIView中设置storyboard并将其作为出口。

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

- (void)viewDidLoad方法中,我想像这样更改其框架

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

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

4 个答案:

答案 0 :(得分:2)

您可能启用了项目中的自动布局,如果是这样,setFrame直线将无效。 Check here for more info

解决方案:

  • 如果您不再需要
  • ,请停用自动布局
  • 使用autolayout检查上述链接。

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

[self.view setNeedsDisplay];

答案 3 :(得分:0)

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

https://github.com/rshankras/StackOverflowUIView