我有一个容器 View ,@property (weak, nonatomic) IBOutlet UIView *containerView;
,但是当我设置它的框架时它不会移动。这是我正在尝试的方式:
- (void)setFramesForCategories
{
CGRect frame = _containerView.frame;
frame.origin.x = 20;
frame.origin.y = self.view.frame.size.height - 52;
frame.size.width = 236;
frame.size.height = 60 * [[_dataDict objectForKey:@"Key"] count];
_containerView.frame = frame;
}
我知道这是基本的,它以前对我有用,当我移动以编程方式创建的对象时,但它现在对我不起作用。
最佳答案
我遇到的问题是在 Storyboard 中设置的约束覆盖了框架更改。这解释了为什么我对以编程方式添加的对象没有同样的问题。要关闭项目的约束,我所要做的就是转到 Storyboard.storyboard
文件,然后确保“实用程序”边栏已打开并选择“文件检查器”选项卡。然后我在“Interface Builder Document”下向下滚动并取消选择“Use Autolayout”。在此之后,我重新运行该项目,发现以编程方式设置框架确实有效。
关于ios - Storyboard 中制作的容器 View 不会以编程方式更改框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13736649/