在WWDC 2017 presentation 204中,他们说您可以在自定义titleView中使用自动布局。
它发生在7:53附近
他们从未展示过如何做到这一点的例子。
当我尝试时,我得到一个零大小的视图。
在界面构建器中,我创建一个UIView并添加一个UISearchBar和一个UIButton作为这样的补贴
[seachBar] - [按钮]
变为零宽度。
有谁知道如何使用这个新功能?
答案 0 :(得分:2)
我会回答我自己的问题。
基本上,自动布局的工作方式与您期望的一样。然而,问题是每个元素要么需要约束来指定其宽度,要么需要指定其内在大小。例如,如果您使用uilabel替换搜索栏,则自定义标题视图将正确适合标签。搜索栏显然没有固有的大小,因此需要控制其增长。
我在搜索栏后面放了一个uilabel,并将其限制在搜索栏的顶部,底部,前导和后缘。我给了uilabel很多文本并设置它,以便在文本太多时它会被截断。
当我运行应用程序时,搜索栏的宽度非为零,并且更改为横向和横向将缩小并根据需要拉伸搜索栏。按钮仍会折叠到0宽度,但通过将抗压强度设置为高于uilabel,可以轻松修复。
我知道,为此目的添加虚拟UILabel是一种黑客行为。我对任何替代方案持开放态度......