2016-03-10 3 views
3

У меня есть странная проблема, которую я не смог решить. У меня есть относительно большое приложение с segues для модальных контроллеров представления как UIViewControllers, так и UITableViewControllers. UIViewControllers, похоже, работают нормально, однако у меня есть непоследовательная проблема с контроллерами табличных представлений. Панель вкладок отображается, когда я перехожу к модульному контроллеру, и она отображается правильно в представлении модели. Однако, когда я отклоняю модальный контроллер, есть вероятность 50/50, что панель вкладок на контроллере табличного представления исчезнет. Вид фона простирается прямо в нижней части экрана. Панель вкладок полупрозрачна, поэтому я хочу, чтобы фон расширялся позади нее, но я понятия не имею, почему в некоторых случаях (с такими же контроллерами и одинаковой ситуацией) работают правильно, а некоторые нет. Я не смог найти ни одной картины.Панель вкладок исчезает при возврате с контроллера модального вида

Перед Segue к модальным: enter image description here

По возвращении из модальных: enter image description here

Начальный контроллер TableView:

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    if optionEnabled[indexPath.row] { 
     let segues:[String] = ["profileMenuSegue", "servicesProvidedSegue", "myWorkDaySegue", "myWorkWeekSegue", "timeOffSegue", "myAvailabilitySegue", "staffSegue", "promoSegue", "activateAccountSegue", "addWeekSegue"] 

     performSegueWithIdentifier(segues[indexPath.row], sender: self) 
    } 

} 

модальный вид Контроллер:

Alamofire.request(.POST, url, parameters: params, encoding: ParameterEncoding.URL) 
    .validate() 
    .responseJSON { (request, _, result) in 
     switch result { 
     case .Success(let data): 
      json = JSON(data) 
      print(json) 
      print("request successful") 

      dispatch_async(dispatch_get_main_queue(), {() -> Void in 
       self.dismissViewControllerAnimated(true, completion: nil) 
      }) 
     case .Failure(_, let error): 
      print("request failed") 
      print(error) 
    } 
} 

Я пробовал все настройки «Расширить края» как вкл, так и выключить, и я попытался переопределить «Inferred» для верхней и нижней панели. У меня есть представление, установленное на «Текущий контекст» на всех контроллерах представлений.

Любые предложения, которые были высоко оценены, поскольку у меня заканчиваются попытки попробовать.

+0

Пожалуйста отправьте соответствующий код – MikeG

+0

Как вы отказавшие в контроллер представления модально? – beyowulf

+0

Я отредактировал исходное сообщение, чтобы включить как вызывающий, так и возвращаемый код. – Lastmboy

ответ

2

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

0

Если у меня есть вопрос: У меня была такая же проблема, когда я впервые начал разбираться с контроллером панели вкладок! Я обнаружил, что если вы отступаете назад от контроллера вида, вы должны полностью переходить к контроллеру панели вкладок. Функция rejectViewController работает лучше для меня.

+0

Я должен уточнить. Я не «отступал» к предыдущему контроллеру. Я использовал rejectViewController, а позже, разматываю segues, чтобы вернуться. Однако только тот факт, что исходный переход к контроллеру представления был модальным, вызывает проблему при его увольнении.Я заставлял модульные контроллеры просмотра НЕ быть полноэкранными (т. Е. Показывать панель вкладок). Теперь я использую Show, чтобы туда добраться, и popViewController вернется, и все работает нормально. – Lastmboy

+0

Я вижу ... рад, что это сработало! –

5

У меня была такая же проблема, и я решил выбрать «Over Current Context» в типе презентации segue. Смотрите изображение:

Attribute inspector