ios - Storyboard 中制作的容器 View 不会以编程方式更改框架

标签 ios xcode uiview uiviewcontroller containers

我有一个容器 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/

相关文章:

ios - Swift - 组合谓词

ios - 使用贝塞尔曲线绘制螺旋

ios - 用于测试 iPhone 应用程序的 iPad mini

xcode - iOS 中的胖二进制文件

ios - 如何在touchesMoved :?中获取最低View

ios - 适用于 iOS 的 XMPP 框架在连接时非常慢

ios - UIButton的点击区域太大

iphone - 使用导航栏在 IB 中设计 View ?

ios - 使用 AutoLayout 约束隐藏 UIView

ios - 如何更改 UIButton : The signup button in Parse`s PFLoginViewController 的颜色