那是因为您在视图的笔尖中选择的大小将被使用 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];