如果有人能够展示如何使用iOS 7中引入的UITableViewController的topLayoutGuide和bottomLayoutGuide属性,我将不胜感激.谢谢.
Ste*_*vin 16
的topLayoutGuide和bottomLayoutGuide属性从继承的UIViewController并实现UILayoutSupport协议.它们设计用于AutoLayout,但也可以直接使用而无需使用AutoLayout.
在这种情况下topLayoutGuide,属性指示您不希望在半透明或透明UIKit栏后面显示的内容的最高垂直范围(例如状态或导航栏).因此,如果您的视图控制器已被推入UINavigationController堆栈,topLayoutGuide将告诉您屏幕顶部有多少点状态栏和导航栏覆盖.您可以UIScrollView在导航栏的正下方使用此值滚动内容,或确保视图中的其他内容未被覆盖UINavigationBar.
请记住,值topLayoutGuide取决于视图控制器以及它是否包含在另一个视图控制器中.来自Apple的UIViewController文档:
约束此属性的值的对象取决于视图控制器是否是容器视图控制器(例如导航或标签栏控制器)的子项,如下所示:
•不在容器视图控制器内的视图控制器约束此属性以指示状态栏的底部(如果可见),或者指示视图控制器视图的上边缘.
•容器视图控制器中的视图控制器不设置此属性的值.相反,容器视图控制器约束值以指示:
如果导航栏可见,则导航栏的底部
如果只显示状态栏,则状态栏的底部
如果状态栏和导航栏都不可见,则视图控制器视图的上边缘
这是我用来移动a UITextField以响应键盘显示的一段代码.我将文本字段移动到导航栏的下方.
CGFloat length = self.topLayoutGuide.length;
_feedback.frame = CGRectMake(_feedback.frame.origin.x, length + 5.0, _feedback.frame.size.width, _feedback.frame.size.height);
Run Code Online (Sandbox Code Playgroud)
使用bottomLayoutGuide与使用完全相同topLayoutGuide,除了bottomLayoutGuide指内容的最低垂直范围.
| 归档时间: |
|
| 查看次数: |
13598 次 |
| 最近记录: |