在 UIPopoverController 中将 contentView 居中

Posted

技术标签:

【中文标题】在 UIPopoverController 中将 contentView 居中【英文标题】:Centering the contentView within UIPopoverController 【发布时间】:2011-06-23 21:31:37 【问题描述】:

在我用于 UIPopoverController 的 UIViewController 中,我在顶部有一个标签,一个分段控件,然后在它下面有一个 UITableView。当我为内容视图创建 .xib 时,我放入了一个表格,并将 .xib 中的标签和分段控件居中。

当我呈现弹出框时,我不希望它占据整个屏幕。我使用大约 (800,700) 点来显示弹出框,但是标签看起来不正确。它们不在弹出框的中心,因为弹出框现在小于 .xib。我所做的是将标签和分段控件向左移动,使其以 IB 为中心。这似乎不是最好的和面向未来的方法。我希望我可以通过获取宽度大小并除以 2 或其他东西并以此为基础以编程方式做一些事情。有什么建议吗?谢谢。

【问题讨论】:

【参考方案1】:

有几个选项:

    查看 UIPopoverController 上 popoverContentSize 属性的文档,您应该将其设置为提供内容的 XIB 的大小(因此 XIB 和 popover 本质上具有相同的大小/contentSize)。

    在 XIB 中的子视图上设置自动调整大小掩码,以便它们根据 XIB 的大小正确布局。要将它们置于其父视图的中心,您不需要左右掩码设置(它们都应在 Interface Builder 中取消选择)。本指南涵盖居中子视图:http://www.techotopia.com/index.php/IPhone_Rotation,_View_Resizing_and_Layout_Handling

【讨论】:

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

UIPopoverController 上的 UIPopoverController

当 UIPopoverController 在屏幕上时,无法与带有 UIPopoverController 的 UISearchBar 进行交互

UIPopoverController 可以在屏幕上移动吗?

自动旋转时出现 UIPopOverController 问题

UIPopoverController:关闭后更新视图

在 UIPopoverController 中显示 UIViewController