UIView 的框架大小问题

7

我正在做一个iPad项目,目前是横向视图。我尝试做了以下操作:

self.view.frame.size.height

为什么这总是返回960?在横屏时,视图本身的高度应该是768,对吧?
我想做的是使用allocInitWithFrame方法创建位于底部的UIToolbar。UIToolBar的高度为50,所以我尝试了以下操作但失败了:
self.bottom_bar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, self.frame.size.height-50, self.view.frame.size.width, 50)];

为什么会这样,我该怎么做呢?
1个回答

6

有两篇文章(第一篇第二篇)提到了一个类似的问题。它们都建议使用self.view.bounds而不是self.view.frame.size.width,因为bounds会随着界面方向的改变而改变。


1
我尝试将其更改为self.bottom_bar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, self.view.bounds.size.height-50, self.view.bounds.size.width, 50)];,但结果是相同的。 - adit
再看看,似乎这个链接也遇到了同样的问题。我认为他们通过在视图加载后实现didRotateFromInterfaceOrientation并在那里获取view.bounds来解决了这个问题。 - Carter
我也遇到了这个问题。self.view.bounds 对我很有用。干杯! - pnizzle

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接