在运行时根据设备更改约束条件

3

我正在使用Storyboard来设置约束条件。虽然一切都很完美,但是有些视图只希望在3.5英寸的设备上更改约束。

这种情况是否可行?我该怎么做?

1个回答

5
您可以定义一个宏来确定屏幕大小,例如下面的代码:
#define isiPhone4 ([[UIScreen mainScreen] bounds].size.height == 480)?TRUE:FALSE

在代码后面,您可以像这样执行某些操作:

if (isiPhone4) {
    self.constraint.constant = NEW_VALUE;
}

如果你想从代码中访问storyboard的约束条件,你需要为它们创建IBOutlets(像其他控件一样通过控制拖拽到你的控制器中)。

enter image description here


我希望Storyboard能够在单个场景上激活/停用自动布局。但是我猜这得等待Xcode未来的版本发布了。 - resting

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接