Редактирование линейных кнопок с помощью PushSegue iOS - PullRequest
0 голосов
/ 19 октября 2019

Я хочу, чтобы barButtonItems были в навигационной панели вида, который я получаю через pushSegue.

Я пытался добиться этого, добавляя элемент панели навигации в свою раскадровку, но когда я запускаю приложение, barButton не отображается в сборке. Смотрите скриншоты здесь:

Как выглядит панель навигации при сборке

How the navigation bar looks on build

Как я построил ее в раскадровке

How I built it in Storyboards

Поток раскадровки

Flow of the Storyboard

Я перехожу к своему MainTextView, нажимая наячейка, использующая этот код:

 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        tableView.deselectRow(at: indexPath as IndexPath, animated: true)
        if let destination = storyboard?.instantiateViewController(withIdentifier:"MainTextView") as? MainTextView {
            destination.post = (posts[indexPath.row])
            destination.delegate = self
            navigationController?.pushViewController(destination, animated: true)
        }
    } 

}

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

1 Ответ

0 голосов
/ 22 октября 2019

Я предполагаю, что это может быть проблема, связанная с Xcode 11 / ios 13. Нажмите на переход и измените его с модного на пуш. Оттуда измените контекст презентации на полный экран. Возможно, вы сможете оставить его как push, но когда вы щелкнете по своему контроллеру / контроллеру навигации, перейдите к инспектору атрибутов и найдите опцию, называемую презентация, и установите ее в полноэкранный режим.

Другой вариант - нажать на контроллеры представления, перейти к инспектору атрибутов и под контроллером навигации - касание видимости панели (показывает панель навигации)

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

На самом деле еще несколько возможностей ... 1) проверьте иерархию представления отладки при запуске приложения. Под этим я подразумеваю

https://developer.apple.com/library/archive/documentation/ToolsLanguages/Conceptual/Xcode_Overview/ExaminingtheViewHierarchy.html

. По сути, это кнопка, которую вы нажимаете, и вы сможете увидеть, как виды друг на друга накладываются друг на друга. Мое лучшее предположение состоит в том, что, хотя у вас есть кнопка элемента панели, вложенная кнопка фактически не отображается / не отображается.

2) вложите свой контроллер таблиц в другой контроллер навигации.

...