Jos*_*ane 14 objective-c autolayout nslayoutconstraint ios8
使用iOS 8和Xcode 6,在故事板中我们现在有了屏幕尺寸网格,让我们选择尺寸等级.您可以在哪里为不同的屏幕尺寸选择布局格式.
我发现这非常有用,因为它允许我设置基本约束,然后为每个屏幕大小设置唯一的约束.
我的问题是,你能以编程方式执行此操作吗?我NSLayoutConstraint正常创建我,但我需要能够为不同的屏幕尺寸指定不同的约束.
flo*_*flo 12
iOS 8引入了该active属性NSLayoutConstraint.它允许您激活或停用约束.还有激活/停用多个约束的方法.
+ (void)activateConstraints:(NSArray *)constraints
+ (void)deactivateConstraints:(NSArray *)constraints
Run Code Online (Sandbox Code Playgroud)
willTransitionToTraitCollection这有点令人困惑并且很难在文档中找到,因为“大小类”实际上并不是像 NSObject 这样的“类”。它们实际上是在名为UIUserInterfaceSizeClass的枚举/类型定义中定义的
获取视图的水平和垂直尺寸类的方法是使用UITraitCollection
UITraitCollection 的类/类型方法允许您根据特定的显示比例(例如是否为视网膜)、从一系列其他特征集合、使用 UI 习惯用法 (iPad/iPhone) 或特定的水平和垂直选项(紧凑)创建一个特征集合。 ,常规),但说实话,我还不确定你会如何使用它......
这个问题讨论了当traitCollection改变时更新约束,使用willTransitionToTraitCollection(newCollection: UITraitCollection!,
withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator!)
你是对的, UITraitCollection 及其属性都是只读的,但显然你可以出于某种原因创建一个新的集合,并在 TraitCollection 更改时处理布局更改。
上一个问题非常相似,并链接到有关使用自适应布局的 Apple 文章。另请查看 WWDC 视频“使用 UIKit 构建自适应应用程序”。
| 归档时间: |
|
| 查看次数: |
6174 次 |
| 最近记录: |