在视图控制器中垂直居中并在 swift 中使用导航栏?

Posted

技术标签:

【中文标题】在视图控制器中垂直居中并在 swift 中使用导航栏?【英文标题】:Centering vertically in the viewcontroller with navigationbar in swift? 【发布时间】:2017-06-27 15:37:35 【问题描述】:

我试图在顶部有一个导航栏的 UIViewController 中将 UIImageView 居中,我想要做的是让 UIImageView 在导航栏底部和视图底部之间居中(当然有约束)。但是 Xcode 使它从视图顶部垂直居中在视图中(在导航栏顶部和 UIViewcontroller 底部之间居中)。

有没有办法做我想做的事?有约束。

【问题讨论】:

【参考方案1】:

添加另一个带有顶部和底部布局指南约束的UIView(空)。然后将您的UIImageView 添加为子视图并垂直和水平对齐。

【讨论】:

【参考方案2】:

尝试在viewDidLoad() 中调用self.edgesForExtendedLayout = []

【讨论】:

【参考方案3】:

假设您的UIViewController 嵌入在UINavigationController 中,那么您应该能够使UIImageView 的中心等于UIViewController 视图的中心。否则,如果您手动添加导航栏,则需要将UIImageView 的中心 Y 坐标偏移导航栏的高度。

【讨论】:

它嵌入在;但它不像我说的那样居中。

以上是关于在视图控制器中垂直居中并在 swift 中使用导航栏?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Objective C的表视图中垂直居中表视图

Swift,约束,视图层次结构没有为约束做好准备

swift中类似火种的导航

Swift - 如何在 2 个视图控制器之间导航时删除黑色导航栏

在 Swift 中以编程方式将视图添加到 stackview

导航栏在 iPhone XS Max swift 上关闭视图控制器上的视图