Mar*_*man 8 xcode uiview ios swift ios9
在iOS 9中,Xcode SIZE检查器中有一个名为"Follows Readable Width"的选项,它将在视图的左/右侧放置填充,以便它不会伸展到目前为止(特别是在iPad上)以便使内容更容易阅读.
(当您在iPhone 6/6s plus上放置横向时,您可以在Twitter应用上看到此示例.)
无论如何,我似乎无法找到如何以编程方式执行此操作.在Xcode SIZE检查器中,它只是您设置的复选框.它显然是你可以在任何UIView或从它继承的任何东西上设置的布尔值.我似乎无法找到任何接近它的东西.
有人以编程方式设置此项吗?请参阅随附的屏幕截图.
哦,我可以很好地找到'保存Superview边距',而不是'跟随可读宽度'属性.
Fre*_*orf 11
您可以在Interface Builder中设置的"Follow Readable Width"选项由代码以两种不同的方式处理:
1)UITableViews
有一个UITableView触发可读宽度的属性:
if #available(iOS 9, *) {
tableView.cellLayoutMarginsFollowReadableWidth = false
}
Run Code Online (Sandbox Code Playgroud)
因此,这与保存超视图边距的处理相当,后者由代码完成preservesSuperviewLayoutMargins = true/false.
来自api文档cellLayoutMarginsFollowReadableWidth:
一个布尔值,指示单元格边距是否从可读内容指南的宽度派生.
此属性与Interface Builder中的选项等效.
2)UIViews
可悲的是,没有像UIKit api公开的上述单一财产.但api文档的引用已经暗示:
true/false每个UIView都提供一个readableContentGuide属性,而不是单个属性来切换.该属性是新UILayoutGuide类(iOS 9及更高版本)的一部分.
据了解,是什么,以及如何使用它,让我们来看看什么"跟着读宽度"选项的作用:如果启用在Interface Builder这个选项,一组约束会自动添加到这一观点.
在readableContentGuide基本上提供了一组这些锚点.
如果要通过代码将布局固定为可读宽度,请创建一组NSLayoutConstraints并将它们连接到锚点readableContentGuide.这也必须包裹在一个#available(iOS 9, *)区块中.
更新时间:04/21/16 添加了有关UITableView cellLayoutMarginsFollowReadableWidth的信息
更新时间04/22/16 重新说明要清楚.感谢@matt让我意识到!
| 归档时间: |
|
| 查看次数: |
4561 次 |
| 最近记录: |