在 UIView 中居中子视图

Posted

技术标签:

【中文标题】在 UIView 中居中子视图【英文标题】:centering subviews in UIView 【发布时间】:2012-02-29 00:11:17 【问题描述】:

我有一个 UIView,其中有一个 UIImageView、一个 UILabel 和一个 UIButton。有时 UIbutton 存在/可见,有时不存在,有时 UIImageView 可见,有时不可见。调整此视图以使所看到的内容始终位于此 UIView 中心的最佳方法是什么?我试过设置 autoresizeFrameWidth 但没用。

【问题讨论】:

无论何时你要显示UIButtonUIImageViewUILabelmake uibutton.center=uiview.center; 【参考方案1】:

很难追随你真正想要的东西。我认为您的问题需要更具体。您是否在使用 Interface Builder 并使用 Autosizing 功能?你要锁住所有面吗?

如果您仍然遇到问题,那么 sch 已经提到的 layoutSubviews 方法是前进的方向。要么使用 .center 属性,要么从超级视图的边界计算中心。

【讨论】:

以上是关于在 UIView 中居中子视图的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式在 UIScrollView 中居中子视图

Autolayout - 使超级视图高度等于子视图高度+常量,其中子视图是 textView

在 UITableViewCell 中居中视图?看起来以 UI 层次结构为中心,但不在实际应用程序中?

如何在 TableView 中居中自定义 UIView?

具有水平分页的 UIScrollView 不居中子视图

iOS 使用 Autolayout 以编程方式修复 UIScrollView 中子视图的位置