UINavigationController содержит неверные размеры и неправильные позиции - PullRequest
1 голос
/ 18 февраля 2012

Вот фрагмент, который иллюстрирует проблему.Когда телефон находится в альбомной ориентации, верхние углы кнопки не видны.Как так?Это пример проблемы, которая продолжает происходить со мной.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    UIViewAutoresizing ar = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;

    window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    [window makeKeyAndVisible];
    window.rootViewController = self; //The delegate is a controller

    UIViewController* vc = [[UIViewController new] autorelease];

    nc =  [[UINavigationController alloc] initWithRootViewController:vc];
    CGRect r = self.view.frame;
    r.origin = CGPointZero;
    nc.view.frame = r;
    [self.view addSubview:nc.view];

    nc.view.autoresizingMask = ar;

    UIView* b = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    r.size = vc.view.frame.size;
    b.frame = r;
    b.autoresizingMask = ar;
    [vc.view addSubview:b];
    return YES;
}

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
    return YES;
}

Спасибо.

1 Ответ

0 голосов
/ 18 февраля 2012

У меня сегодня тоже была такая проблема - попробуйте установить маску изменения размера для всех доступных флагов:

UIViewAutoresizingFlexibleHeight |
UIViewAutoresizingFlexibleWidth |
UIViewAutoresizingFlexibleRightMargin |
UIViewAutoresizingFlexibleBottomMargin |
UIViewAutoresizingFlexibleTopMargin |
UIViewAutoresizingFlexibleLeftMargin ;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...