2014-11-14 2 views
2

У меня есть popover с TabBarController в нем. На одной вкладке есть TableViewController со списком имен. И есть кнопка «плюс», которая имеет modal segue для AddCharacterVC для добавления новых имен. В прошивке 7 Я делаю это так:iOS 8 - Modal in Popover

AddCharacterViewController *acvc = (AddCharacterViewController *)segue.destinationViewController; 
acvc.modalTransitionStyle = UIModalTransitionStyleCoverVertical; 
acvc.modalPresentationStyle = UIModalPresentationCurrentContext;// so it does not take full screen in popover 

И в AddCharacterVC я установил размер контента, как это:

- (void)viewWillAppear:(BOOL)animated { 

CGSize size = CGSizeMake(320, 480); // size of view in popover 
if (IDIOM == IPAD && [self respondsToSelector:@selector(preferredContentSize)]){ 
    self.preferredContentSize = size; 
} 

И это прекрасно работает.

Однако, в iOS 8 модальный вид не распространяется на весь popover, оставляя TabBar видимым. Пользователь может нажать на него или нет, в любом случае модальное представление не будет правильно раскручиваться.

Я пробовал:

  • установки acvc.modalPresentationStyle в UIModalPresentationOverCurrentContext
  • попытался установить TabBar скрытого
  • проверил в раскадровке, что края TableVC расширения под нижней панелью и нижней панелью в модальной View (AddCharacterVC) не установлен

Все без результатов.

Теперь единственное, что я могу придумать, - попробовать сделать modalPresentationStyleCustom и использовать UIPresentationController (я пытаюсь сделать это сейчас, но раньше я этого не делал). Я что-то упускаю? Может ли быть другой способ сделать это? Извините, я не могу размещать изображения здесь. Спасибо заранее!

ответ

0

Итак, я установил modalPresentationStile в UIModalPresentationCustom и использовал UIPresentationController - я только что скопировал код из проекта LookInside из WWDC-14 и немного изменил его. Я не уверен, было ли это лучшим решением, но это сработало в моем случае.

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