那是因为您在视图的笔尖中选择的大小将被使用 untilviewWillAppear: (BOOL) animated
方法。然后它将采用正确的尺寸。
但是,您可以使用以下代码来获得正确的大小,因为viewDidLoad
被调用:
CGSize viewSize = [[UIScreen mainScreen] bounds].size;
viewSize = CGSizeMake(viewSize.width, viewSize.height - STATUS_BAR_HEIGHT);
STATUS_BAR_HEIGHT
是 20,但这取决于您的应用程序。您可能需要也可能不需要添加该行。
编辑
使用mainScreen
边界的问题是框架在方向改变时不会改变。这就是它的设计方式。您可以使用以下方法解决:
CGSize viewSize = [[UIScreen mainScreen] bounds].size;
if(UIInterfaceOrientationIsLandscape(CURRENT_ORIENTATION)){
viewSize = CGSizeMake(viewSize.height, viewSize.width - STATUS_BAR_HEIGHT);
} else {
viewSize = CGSizeMake(viewSize.width, viewSize.height - STATUS_BAR_HEIGHT);
}
CURRENT_ORIENTATION
是[[UIApplication sharedApplication] statusBarOrientation];