自动调整uiview

msa*_*nce 6 iphone objective-c uitableview autoresize uistatusbar

我有UIView一个UITabController.其中有一个UITableView.

在呼叫状态栏中切换时,它不会执行任何操作,并且视图不会自动调整大小.

它假定正确的大小取决于UIStatusBar应用程序启动时是否切换,但如果UIStatusBar在应用程序运行时切换,则没有任何更改.

带有a的另一个标签视图UINavigationController似乎调整好了.

这是代码

if ([indexPath indexAtPosition:0] == 0 || [indexPath indexAtPosition:0] == 1) {
        if (!airportChooser) {
            airportChooser = [[AirportChooserController alloc] init];
            airportChooser.targetController = self;
            airportChooser.view.autoresizesSubviews = YES;  
            airportChooser.view.autoresizingMask = UIViewAutoresizingFlexibleHeight;
            [airportChooser.view setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleWidth];
        }
        airportChooser.target = [indexPath indexAtPosition:0];
        [self.parentViewController.parentViewController.view addSubview:airportChooser.view];
        self.parentViewController.parentViewController.view.autoresizesSubviews = YES;
        self.parentViewController.parentViewController.view.contentMode = UIViewContentModeRedraw;
        [self.parentViewController.parentViewController.view setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleWidth];
        airportChooser.view.contentMode = UIViewContentModeRedraw;
        //[airportChooser open];
    }

kla*_*ter 14

你是否UIView正确设置了大小调整掩码?您可以Interface Builder在尺寸选项卡中设置它,它是您可以单击的红线.

您还可以使用以下内容在代码中进行设置:

[view setAutoresizingMask:UIViewAutoresizingFlexibleWidth | 
                          UIViewAutoresizingFlexibleHeight];
Run Code Online (Sandbox Code Playgroud)

还要确保superview设置autoresizesSubviews为YES.

您可以在UIView文档中找到有关此内容的更多信息.