我试图将子视图(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",那么代码只有在我交换bottom
和left
时才会工作(但它并不完美,因为真正的宽度是1024而不是1004)。
我的问题是:当视图处于横向模式时,是否有一种优雅的方法来确定视图右下角的位置?
如果你在viewWillLayoutSubviews中看那些值,你使用bounds而不是frame,你会得到正确的值,它们会在你旋转设备时更新。