Я нахожусь в процессе настройки представления «Дополнительно» в UITabBarController моего приложения.
Из того, что я вижу в документации, очень мало поддержки для его настройки . Существует только свойство UITabBarController только для чтения, называемое moreNavigationController, которое указывает на UINavigationController.
Это позволяет нам по крайней мере настроить его UINavigationBar. Настроить табличное представление, которое он представляет в первом контроллере представления, немного сложнее.
По другим вопросам здесь, по SO и в других местах, я ' Мы видели, что все разговоры вращаются вокруг возня с внутренней структурой moreNavigationController (например, наблюдение, что первый контроллер представления в стеке - это UITableViewController, замена его контроллера данных и т. д.). Проблема в том, что все эти методы делают предположения о том, как ведет себя недокументированный код в API, предположения, которые вряд ли пригодны для будущего.
Единственная альтернатива, которую я вижу здесь, - это развернуть свой собственный «дополнительный контроллер» (необязательно отказавшись от функции редактирования для сохраните реализацию довольно простой) и используйте его в качестве контроллера пятого представления на вкладке. Конечно, необходимо позаботиться о том, чтобы назначать последующие контроллеры представления пользовательскому «дополнительному контроллеру», а не напрямую UITabBarController (для обеспечения соблюдения этого правила может потребоваться подклассификация UITabBarController).
Какой подход вы бы выбрали? Какие другие решения вы бы предложили?