2015-06-02 5 views
0

У меня есть главная страница в моем приложении, основанная на PageViewController. На этой главной странице у меня есть боковая панель, которая предоставляет параметры пользователю. Один из вариантов - отобразить «О программе» информацию о приложении. Когда пользователь нажимает кнопку «О программе» на боковой панели, я хочу отображать мой AboutViewController как модальный. Кажется, что все мои ссылки правильны, однако, когда я нажимаю опцию «О программе» на боковой панели, весь экран просто становится черным (это цвет фона или мой AboutViewController), и ни один из содержимого в моем AboutViewController не виден.Показать Modal ViewController в PageViewController

Вот код для моего PageViewController. Выделенный код - это код, отображающий контроллер модального представления.

Code for Master Page View Controller

Вот экран шоу О View Controller Scene, что я пытаюсь отобразить.

About Info scene

Где скриншот того, что приложение выглядит как раньше я нажимаю О кнопки: Before Click About

Это как нажать О кнопку: Clicking About button

Это что я получаю после того, как я нажму кнопку «about»: enter image description here

Любое предложение Что я делаю неправильно?

ОБНОВЛЕНИЕ: В приведенном комментарии Я обновил свой код следующим образом, и у меня все еще есть та же проблема.

  gobj_sideBar.showSideBar(false) 
      iobj_AboutViewController = AboutViewController() 
      iobj_AboutViewController?.iobj_CloseAboutInfoDelegate = self 
      iobj_AboutViewController!.modalTransitionStyle = UIModalTransitionStyle.CoverVertical 
      // Cover Vertical is necessary for CurrentContext 
      iobj_AboutViewController!.modalPresentationStyle = .CurrentContext 
      // Display on top of current UIView 
      self.presentViewController(iobj_AboutViewController!, animated: true, completion: nil) 

Кроме того - я не; считаю, что пустая страница отображается как в коде для моего О View Controller у меня есть следующий код, который выключает строку состояния и строку состояния не отображается на экране отображается, когда я нажимаю кнопку about.

override func prefersStatusBarHidden() -> Bool { 

    return true; 
} 

ОК Итак, я переключился на использование Модальных Segues, как и предлагаю, и это в основном работает. Единственная проблема у меня сейчас является то, что я хочу О View Controller для отображения в виде небольшой точки зрения всплывающего типа, но вместо этого он принимает на весь экран, как показано ниже:

enter image description here

Эти свойства у меня есть установлен для моего контроллера представления. Любая идея, как я должен изменить его, чтобы представление появилось как окно всплывающего типа, где фон неактивен, но представление «О программе» не занимает весь экран? enter image description here

ответ

1

Я не испытал достаточно, чтобы сказать, что это неправильно, но я пятнистость некоторые ошибки в коде:

  • modalTransitionStyle и modalPresentationStyle должны быть установлены на представленном контроллере представления не на представления.

  • Вы создаете экземпляр AboutViewController, сохраняете ссылку на него и устанавливаете себя как своего делегата, но в вызове presentViewController (...) Инстанцирование другого AboutViewController

считает также, что черный цвет не цвет фона вашей О сцене, но вместо того, чтобы цвет пустого экрана.

Если бы я был вами, я бы использовал сегу для этого и о сцене, это менее подвержено ошибкам. И вместо делегирования, чтобы отклонить контроллер «Просмотр», попробуйте развернуть сеанс.

+0

OK - Я не знаком с Модальными Segues. Можете ли вы предоставить более подробную информацию об этом? –

+0

Не обращайте внимания на Модальный Сег. Догадаться. Сейчас он работает. См. Обновление до вопроса. :) –

+1

Я просто взломал бы, чтобы выбрать «Over Fullscreen» в презентации и сделать корневой вид того, что о контроллере прозрачный или почти прозрачный, и переместите свой текст и кнопку в подвью с черным фоном. –

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