- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 UIPageViewController 中有一个 UIViewController,我想在最底部添加一个按钮。
我只是不明白这两者的区别
NSLayoutConstraint.constraintsWithVisualFormat("V:[button]|", options: .DirectionLeadingToTrailing, metrics: nil, views: ["button":button]) // works
和
NSLayoutConstraint.constraintsWithVisualFormat("V:[button][bottomLayoutGuide]", options: .DirectionLeadingToTrailing, metrics: nil, views: ["button":button, "bottomLayoutGuide":bottomLayoutGuide]) // doesn't work
第一行在最底部添加按钮,第二行在按钮和底部之间有一个 50px 的填充。这是否与 UIPageViewController(它本身位于 UINavigationController 中)有关?
最佳答案
底部布局指南对于父 Controller 具有某种覆盖当前 View Controller 内容的 View 的布局很有用。所以在你的情况下 UIPageViewController
有这样一个 View ,就是一个UIPageControl
您可能不希望重叠 View ,因此如果您指定底部布局指南作为边界,您的 View 将固定在 UIPageControl
的正上方.这很方便,尤其是当您依赖于这样的约束时(这在我下面提供的示例中变得很清楚)。
A UITabBarController
还有一个底部布局指南,即标签栏的顶部。这很方便,因为大多数时候您需要对选项卡栏的顶部进行约束,否则 View 将位于其下方(这可能会导致不良的用户体验[思考:如果您将 tableView 限制在最底部(<强>不是底部布局指南)那么最后一个单元格可能会被标签栏覆盖,这肯定是糟糕的用户体验])。因此,正如您所看到的,有时能够限制 View Controller 的底部布局指南是很有用的,其中父 Controller 的元素占据的空间可能不一定适合放置 View 。
UINavigationController
也是如此,如果您有一个 View Controller 包含在 UINavigationController
中, topLayoutGuide
基本上会指示UINavigationController
的位置导航栏结束,因此将任何 View 限制到顶部布局指南将很有用,否则 View 将最终位于导航栏下方。
就你而言,我认为你可以将你的观点限制在 UIPageController
的最底部。的 View 作为 UIPageControl
下面的 View 通常包含看起来不会被 UIPageControl
混淆的图像(页面控件更多地充当视觉反馈机制而不是交互元素)。
正如马特在他的评论中指出的那样,做了类似V:[button]|
的事情,您基本上将 View 限制在其 super View 的最底部,而不是底部布局指南(在您的情况下是 UIPageControl
)。
相反,V:[button][bottomLayoutGuide]
会将 View 限制为 UIPageController
的 UIPageControl
,其默认大小可能为 50,这就是两者之间存在差异的原因。
我希望事情已经说清楚了。
关于ios - AutoLayout:何时使用 BottomLayoutGuide 与 "V:[continueButton(50)]|",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35963600/
这个问题已经有答案了: TopLayoutGuide and BottomLayoutGuide Deprecated in iOS 11 (1 个回答) 已关闭 4 年前。 底部布局指南在 ios
我在 UILayoutGuide 中遇到了一个非常奇怪的行为。 bottomLayoutGuide.length 在向 length 属性发送消息时返回 0。 同时在控制台打印 bottomLayou
如果有人能展示如何使用 iOS 7 中引入的 UITableViewController 的 topLayoutGuide 和 bottomLayoutGuide 属性,我将不胜感激。谢谢。 最佳答案
如果你有类似的东西 something = bottomLayoutGuide.length 现在你只是得到一个警告 'bottomLayoutGuide' was deprecated in iOS
我正在尝试使用 ios7 中引入的 bottomLayoutGuide 将标签的底部锚定到标签栏的顶部。它最初在我运行该应用程序时起作用,但是当我切换到另一个选项卡并再次返回时,标签移动到半透明选项卡
Apple 的 documentation关于在 View 和布局指南之一之间创建自动布局约束仅显示使用 VFL 的示例. 有没有办法不VFL(使用NSLayoutConstraint's other
我一直在尝试创建一个容器 View Controller ,它提供一些覆盖 View ,如 UINavigationController 和 UITabBarController 为 iOS 7 中的
我有一个 UIViewController 和一个 UITableView 填充屏幕的广告支持版本。 MyViewController 嵌入在 UINavigationController 中,它的底
UIViewController 的 topLayoutGuide 和 bottomLayoutGuide 在 iOS 11 中已弃用。应该替换什么? 最佳答案 以前在您的 UIViewControl
我在 UIPageViewController 中有一个 UIViewController,我想在最底部添加一个按钮。 我只是不明白这两者的区别 NSLayoutConstraint.constrai
我有一个 UIViewController 显示另一个 UIViewController。两个 View Controller 都使用带有自动布局的 topLayoutGuide 和 bottomLa
在 Interface Builder 中,它只提供了将 subview 限制到底部布局指南的选项,而不是父 View 。因为我有时在容器 Controller 设置中将 Controller 用作子
我还没有找到关于这个的任何信息,可能没有简单的解决方案。 我有一个 ScrollView (在本例中为 UITableView),它是我的 UIViewController View (它本身不是 S
使用今天下载的 XCode 5。 iOS 7。当我运行应用程序时,表格 View 标题出现在导航栏下方,我不介意它在导航栏下方滚动,但我希望它最初看起来畅通无阻。我想弄清楚如何使用 iOS 7 转换指
我是一名优秀的程序员,十分优秀!