自动调整不工作

时间:2014-03-19 13:44:11

标签: ios objective-c uiimageview subview autoresize

我遇到了一个我真的不明白的问题。

我有一个视图(灰色矩形)和一个子视图(红色矩形)。 该架构是UIViewController =>视图(灰色矩形)=> UIImageView(红色矩形)。

当灰色矩形边界发生变化时,我想要调整红色矩形的大小。

因此,我将灰色矩形的属性“Autoresize subviews”设置为Yes,并添加以下代码:

_image.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight ;

但是当我调整灰色矩形的大小时,红色矩形没有任何反应:灰色的那个更大而红色的那个保持相同的框架。

你有什么想法帮助我吗?

更新:

我在故事板中添加了imageView作为“灰色矩形”的子视图。 我试图通过代码添加另一个UIImageView,并且有效。

所以我的新问题是你知道为什么自动调整不适用于在故事板中编辑的子视图吗?

2 个答案:

答案 0 :(得分:0)

试试这个:

_image.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleBottomMargin; 

答案 1 :(得分:0)

如果您愿意使用自动布局,可以使用以下步骤解决您的问题:

  1. 在故事板中,选择视图 - 转到"文件检查器"并选中名为"使用Autolayout"
  2. 的复选框
  3. 添加以下约束:
    • 容器的顶部空间
    • 底部空间到容器
    • 将空间引入容器和
    • 尾随空间到容器
  4. 这将 -

    1. 工作
    2. 即使不再使用Autoresizing,也会持续发展。
    3. 修改


      检查自动布局是否已关闭。如果不是,并且您尝试通过代码进行自动调整工作,则需要对要使用自动调整掩码的所有视图执行以下操作:

      self.view.translatesAutoresizingMaskIntoConstraints = YES;