1

Я хочу представить modalViewController с небольшим фреймом и в центре представления.PresentModalViewController с некоторым кадром

Возможно ли это?

Даже если я установил некоторый кадр для объекта viewController, presentModelViewController отобразит это представление в полноэкранном режиме.

Кроме того, я использовал modalPresentationStyle как UIModalPresentationFormSheet. Я хочу, чтобы кадр был даже меньше.

Как это сделать?

ответ

5

Вы не можете представить контроллер модального вида, размер которого меньше.

Что вы можете попробовать сделать, это установить прозрачность фона вашего модального контроллера, а затем добавить меньший размер в центре (или где бы вы его ни увидели).

1

Представление модального вида будет охватывать весь вид, если вы не хотите покрывать весь вид, тогда вы должны создать представление самостоятельно, добавить его в текущее представление в качестве подвид и затем анимировать его переход самостоятельно. Это не будет отдельный viewController, потому что вы все еще работаете в пределах исходного вида.

0

Да. Возможно. Выполните следующие шаги:

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShown:) name:UIKeyboardWillShowNotification object:nil]; 
    CGRect rect = CGRectMake(242, 60, 540, 312); 
    self.controller.view.superview.frame = [self.view convertRect:rect toView:self.controller.view.superview.superview]; 
} 

- (void)keyboardWillShown:(NSNotification*)aNotification { 
    CGRect rect = CGRectMake(242, 60, 540, 312); 
    self.controller.view.superview.frame = [self.view convertRect:rect toView:self.controller.view.superview.superview]; 
} 

Вы должны установить рамку данного контроллера после установки контроллера (только до конца метода viewDidLoad).

Здесь я рассмотрел рамку контроллера представления настоящего iPad.

+0

Почему было бы сообщение о модельном представлении UIKeyboardWillShowNotification? fyi: модальное поведение контроллера просмотра отличается для iPhone и iPad –

+0

Согласовано, и поэтому я добавил свой ответ с iPad. И я добавил уведомление о клавиатуре, потому что большинство людей ищут этот контроллер с текстовым полем, что означает настройку ввода с клавиатуры. – ABC1

+0

@ ABC1 .. Что именно вы пытаетесь сделать? Здесь я не буду использовать никаких уведомлений о клавиатуре. Для некоторых действий с кнопками мне нужно пригласить пользователя ввести его имя с небольшим представлением. Не могли бы вы четко объяснить, что именно вы пытаетесь здесь сделать? – Bharath

 Смежные вопросы

  • Нет связанных вопросов^_^