【发布时间】:2018-12-09 14:07:44
【问题描述】:
Xcode 9.3,运行 OS 10.13.4 的 MacBook Pro
当我在 IB 中向 UIView 添加纵横比约束时,视图不会在模拟器中呈现。为了找出它的去向,我记录了没有约束的相关框架坐标,然后出现了。坐标看起来相同,但请查看屏幕截图以了解差异。
没有限制:
self.view.center = (207.0, 368.0)
self.thumbView.center = (93.0, 207.5)
self.viewFinder.center = (187.5, 163.5)
self.view.frame = (0.0, 0.0, 414.0, 736.0)
self.thumbView.frame = (30.0, 174.0, 126.0, 67.0)
self.viewFinder.frame = (16.0, 75.0, 343.0, 177.0)
只有纵横比限制:
self.view.center = (207.0, 368.0)
self.thumbView.center = (93.0, 207.5)
self.viewFinder.center = (187.5, 163.5)
self.view.frame = (0.0, 0.0, 414.0, 736.0)
self.thumbView.frame = (30.0, 174.0, 126.0, 67.0)
self.viewFinder.frame = (16.0, 75.0, 343.0, 177.0)
如果您有任何想法,我们将不胜感激!
这是 IB 中的场景截图。大的UIImageView是viewFinder,小的是thumbView:
这是没有限制的样子:
这是我添加纵横比约束后的样子:
编辑 1
根据下面@Anton 的评论,我将viewFinder 底部和侧面的接近限制添加到thumbView。然而,这并没有产生任何变化——我仍然得到表明存在thumbView的坐标,但它仍然不可见。
【问题讨论】:
-
您是通过代码还是在界面构建器中设置这些约束?如果首先 - 然后请显示代码。在其他情况下 - 检查界面生成器中是否有任何警告/错误
标签: ios uiimageview storyboard nslayoutconstraint