【发布时间】:2019-09-25 05:12:48
【问题描述】:
我的应用程序在名为“搜索栏容器”的UIView 中有一个“搜索栏”,它再次放置在导航栏下方。在Interface Builder自动布局上constraints设置在搜索栏和UIView之间如下图:
第一项:搜索栏。顶部 关系:相等 第二项:搜索栏的容器。顶部 常数:0 优先级:1000 乘数:1
第一项:搜索栏.Leading 关系:相等 第二项:SearchBar.Leading 的容器 常数:0 优先级:1000 乘数:1
第一项:搜索栏。尾随 关系:相等 第二项:SearchBar.Trailing 的容器 常数:0 优先级:1000 乘数:1
“搜索栏容器”(UIView) 设置为宽度:480 和高度:44。UIView 的自动调整大小设置为在所有方向上相对拉伸和定位。搜索栏也设置了宽度:480。
在 IOS 10 之前,UIView 和搜索栏会根据设备的屏幕分辨率相对拉伸。但是对于 IOS 12.1 版本,“搜索栏”在运行时变得不可见。当我调试并检查大小时,UIView 及其子“搜索栏”的宽度在运行时都设置为 0。删除自动布局约束后,只有搜索栏可见,但不会根据屏幕分辨率进行拉伸。
需要帮助来解决这个问题。
编辑: UIView 容器放置在导航栏内的后退/前进按钮之间。这就是 UIView 容器设置为“自动调整大小”而不是设置自动布局约束的原因。由于它位于两个按钮项之间,我认为它不能设置为其父项的前导和尾随空间限制。
【问题讨论】:
标签: ios objective-c uiview autolayout