iPad presentModalViewController появляется в неправильном положении - PullRequest
2 голосов
/ 07 сентября 2011

Во-первых, я чувствую, что Apple действительно не нравится, когда мы оптимизируем приложения для альбомной ориентации.

После двухдневной борьбы с моим приложением я наконец-то убедил его всегда показывать только в альбомном режиме. Я даже убедил UIViewController, который я представляю с presentModalViewController, появиться и в альбомной ориентации. Пока все хорошо ...

Положение UIViewController, которое я представляю с UIModalPresentationFormSheet, полностью справа внизу (с ipad в позиции Landscape) Я не могу заставить его двигаться в центр, как это должно быть. У кого-нибудь есть идеи, почему и как это работает, и как я могу сделать так, чтобы оно оказалось в правильном положении?

РЕДАКТИРОВАТЬ: Добавлен код, этот код вызывается из UIViewController при нажатии кнопки.

- (void) buttonPushed
{
    pickerViewController = [[UIViewController alloc] init];
    [pickerViewController.view setBackgroundColor:[UIColor whiteColor]];


    _pickerCustomers = [[UIPickerView alloc] initWithFrame:CGRectMake(22,20,380,216)];
    _pickerCustomers.delegate = self;
    _pickerCustomers.dataSource = self;
    [_pickerCustomers setShowsSelectionIndicator:YES];
    [pickerViewController.view addSubview:_pickerCustomers];

    _btnPickerDone = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    [_btnPickerDone setFrame: CGRectMake(300,250,98,45)];
    [_btnPickerDone setTitle:@"Select" forState:UIControlStateNormal];
    [pickerViewController.view addSubview:_btnPickerDone];

    pickerViewController.modalPresentationStyle = UIModalPresentationFormSheet;

    [self presentModalViewController:pickerViewController animated:YES];
}

1 Ответ

0 голосов
/ 07 сентября 2011

Вы пробовали поиграть с маленькими "пружинами автопозиции" на макете IB?Возможно, вы прикрепили его снизу и справа, просто удалите эти вложения.

Вот ссылка для вас: http://disanji.net/iOS_Doc/#documentation/DeveloperTools/Conceptual/IB_UserGuide/Layout/Layout.html

Также можно сделать в коде, если хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...