Почему мой UIView не меняет размер должным образом в подпредставлении UIViewController?

У меня есть UIViewController, который содержит подпредставление и UIToolbar. Я пытаюсь добавить еще один UIViewController, содержащий MKMapView, в качестве подпредставления, но он не меняет размер должным образом, и в результате карта перекрывает панель инструментов. Что я делаю неправильно?

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    [DebugLogger writeLog:@"Initializing RootViewController"];
    if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
        // Custom initialization
        self.title = @"Root View";

        switchableView.autoresizesSubviews = YES;
        switchableView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin;
        switchableView.userInteractionEnabled = YES;

    }
    return self;
}

- (void)viewDidLoad {
    [DebugLogger writeLog:@"Calling viewDidLoad in RootViewController"];
    [super viewDidLoad];

    self.mapView = [[[MapViewController alloc] initWithNibName:@"MapView" bundle:nil] autorelease];

    [self.mapView.view setFrame:switchableView.frame];

    [switchableView addSubview:self.mapView.view];
}

person mwalsher    schedule 08.09.2009    source источник


Ответы (1)


Вместо этого:

switchableView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin;

попробуй это:

switchableView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;

Кроме того, попробуйте установить для параметра autoresizingMask mapView.view то же самое.

person Leo    schedule 09.09.2009