gpt4 book ai didi

uitableview - topLayoutGuide 和 bottomLayoutGuide UIViewController 属性示例

转载 作者:行者123 更新时间:2023-12-03 20:39:14 25 4
gpt4 key购买 nike

如果有人能展示如何使用 iOS 7 中引入的 UITableViewController 的 topLayoutGuide 和 bottomLayoutGuide 属性,我将不胜感激。谢谢。

最佳答案

topLayoutGuidebottomLayoutGuide属性继承自 UIViewController并实现 UILayoutSupport协议(protocol)。它们被设计用于 AutoLayout , 但也可以不使用 AutoLayout 直接使用.

topLayoutGuide 的情况下,该属性指示您不希望出现在半透明或透明 UIKit 栏(例如状态栏或导航栏)后面的内容的最高垂直范围。因此,如果您的 View Controller 已被推送到 UINavigationController堆栈,topLayoutGuide会告诉你从屏幕顶部多少点状态栏和导航栏覆盖。您可以在 UIScrollView 中使用此值滚动内容到导航栏的正下方或确保 View 中的其他内容未被 UINavigationBar 覆盖.

请记住 topLayoutGuide 的值取决于 View Controller 以及它是否包含在另一个 View Controller 中。来自 Apple 的 UIViewController文档:

The object that constrains the value for this property depends on whether or not the view controller is a child of a container view controller (such as a navigation or tab bar controller), as follows:

• A view controller not within a container view controller constrains this property to indicate the bottom of the status bar, if visible, or else to indicate the top edge of the view controller's view.

• A view controller within a container view controller does not set this property's value. Instead, the container view controller constrains the value to indicate:

  • The bottom of the navigation bar, if a navigation bar is visible

  • The bottom of the status bar, if only a status bar is visible

  • The top edge of the view controller’s view, if neither a status bar nor navigation bar is visible



这是我用来移动 UITextField 的一段代码响应键盘的显示。我将文本字段移动到导航栏的正下方。
CGFloat length = self.topLayoutGuide.length;
_feedback.frame = CGRectMake(_feedback.frame.origin.x, length + 5.0, _feedback.frame.size.width, _feedback.frame.size.height);

使用 bottomLayoutGuide就像使用 topLayoutGuide ,除了 bottomLayoutGuide指内容的最低垂直范围。

关于uitableview - topLayoutGuide 和 bottomLayoutGuide UIViewController 属性示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17959224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com