最近一直在使用自动布局,我被一个看似微不足道的问题所困扰.我有一个观点,我想坐在屏幕的顶部,占据屏幕高度的一半.自动布局之前很简单-只需将其固定到位,并告诉它在SuperView调整大小时垂直扩展即可.

现在,我无论如何也看不到该怎么做.以下是我try 设置时得到的结果:

自动布局蓝调

底部空间约束设置为"等于284",当我切换到iPhone4布局时,这对我来说是绝对的,也是绝对无用的,因为它在屏幕底部保留了284个点的空间,并将视图缩小到不再是屏幕大小的一半.而且没有办法将约束设置为等于任何其他视图高度的某个分数.

在挣扎了一段时间后,我唯一能想到的办法就是在这个视图下面引入另一个视图,将它们的高度相等地钉住,让它们坐在彼此的上方和下方,然后将第二个(底部)视图设置为不可见.这看起来有点难看!

我是不是漏掉了什么明显的东西?..

推荐答案

现在,在[至少]Xcode5.1.1版本的IB中,这是可能的.虽然我花了一段时间才弄明白这其实非常简单:

首先创建一个基本的顶部对齐约束(还需要设置底部、左侧和右侧约束,就像普通约束一样)

上述步骤演示

然后你可以调整乘数.如果你想让它占据超级视图的50%,那就让它保持在1,因为它是按照超级视图的中心对齐的.这也是一个很好的方法,可以创建其他百分比的视图(例如super view的25%)

上述第二步演示

Ios相关问答推荐

滑动以返回特定的 SwiftUI 视图

访问未定义的 stage_in 金属着色器参数

通过MatchedGeometryEffect向上滑动视图

在 tableview 中下载图像缩略图时如何提高滚动性能

如何在 Swift 中使用命名空间?

iPhone UIButton - 图像位置

我可以在 UIScrollView 中使用 UIRefreshControl 吗?

SwiftUI 视图 - viewDidLoad()?

Swift 默认的 AlertViewController 打破约束

在Flutter 应用程序中添加日期选择器的正确方法是什么?

Command CompileSwift 在 Xcode 10 中因非零退出代码而失败

UICollectionView,全宽单元格,允许自动布局动态高度?

UISearchBar 在 iOS 11 中增加导航栏高度

错误 ITMS-90717:“无效的 App Store 图标”

如何从本地 cocoapods 缓存中清除或清理特定的 pod

在导航栏中显示搜索栏而不在 iOS 11 上滚动

如何以编程方式使用安全区域布局?

iOS11 中奇怪的 uitableview 行为.带有导航推送动画的单元格向上滚动

Xcode 9 的安全区域

在默认网络浏览器中打开 URL