2

在界面生成器中创建带有导航栏的 UIView 时,顶部栏会占用一些空间,但视图仍然具有相同的大小。这意味着视图的底部是不可见的。

有没有办法获得 UIView 的“可见大小”?我想在屏幕底部显示一个子视图,但由于父视图位于屏幕“下方”,因此部分子视图被隐藏。

4

2 回答 2

4

您应该使用 IB 中的“struts-and-springs”控件将基本视图设置为完全对齐。然后它会自动调整大小。完成此操作后,您只需使用 view.bounds 属性即可访问其可见区域。

于 2008-11-30T19:38:19.753 回答
2

您应该使用 Ben Gottlieb 的解决方案,但就计算名为“ view”的视图的可见区域而言,您可能可以使用:

CGRect viewBoundsInWindow =
    [[[UIApplication sharedApplication] keyWindow] convertRect:view.layer.visibleRect fromView:view];
于 2008-11-30T23:31:08.083 回答