如何在横向模式下确定iPad右下角的坐标?

时间:2013-04-22 19:03:46

标签: ios ipad landscape

我正在尝试在主视图的右下角中放置一个子视图(buttView)(来自代码,而不是来自IB)。

以下代码有效

const float bottom = self.frame.size.height;
const float left   = self.frame.size.width;
NSLog(@"bottom=%.1f left=%.1f", bottom, left);
CGSize bz = buttView.frame.size;
CGRect rc = CGRectMake(left-bz.width, bottom-bz.height, bz.width,bz.height);
buttView.frame = rc;
[self addSubview:buttView];

但我困惑,因为根据日志消息, bottom = 1004.0 and left = 768.0 ,而iPad in 横向模式!(宽度应大于高度!??)

此外,如果我关闭IB中的“autoresize subviews”,那么代码只有在我交换bottomleft时才会起作用(但它不能完美地运行,因为真正的宽度是1024而不是1004。)

我的问题是:当视图处于横向模式时,是否有一种优雅的方法来确定视图右下角的位置?

1 个答案:

答案 0 :(得分:2)

如果您在viewWillLayoutSubviews中查看这些值,并使用bounds而不是frame,您将获得正确的值,并且如果您旋转设备,它们将会更新。