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



我试图将子视图(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];

但我是困惑,因为,根据日志消息,底部=1004.0和左=768.0, iPad 横向模式!(宽度应该大于高度!??)

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

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

如果你在viewWillLayoutSubviews中看那些值,你使用bounds而不是frame,你会得到正确的值,它们会在你旋转设备时更新。

最新更新