Шаги в разделении на подклассы UINavigationController

Я хотел бы разделить UINavigationController на подклассы для получения еще некоторой свободы в отношении появления контроллера.

У меня есть некоторая графика для различных частей, панелей, кнопок, текст и т.д. Рассмотрение заголовочного файла UINavigationController, я получаю мало справки, я не знаю, где начать.

Я никогда не разделял компонент UIKit на подклассы/переопределял прежде, кажется, что это немного похоже на играющего Sherlock Holmes.

Каков подход?

Как я знаю, что переопределить для получения, определенная часть графики "ввела" корректное место?

Я должен разделить на подклассы UINavigationBar, UIBarButtonItem и т.д. и т.д. для получения полного специализированного взгляда?

Как я знаю, ли что-то от пределов в отношении того, чтобы быть утвержденным Apple?

Надежда кто-то может указать на меня в правильном направлении, я только смог найти примеры изменения мелких деталей контроллера, не полной настройки путем разделения на подклассы. Я иду об этом неправильным путем?

Спасибо:)

7
задан RickiG 12 June 2010 в 20:15
поделиться

1 ответ

Вы НЕ должны расширять UINavigationController.

Начиная с iOS 6, эта информация устарела. Из документации по Xcode 5: Обычно вы используете этот класс как есть, но в iOS 6 и более поздних версиях вы можете создавать подклассы для настройки поведения класса.

Далее следует оригинальная устаревшая информация:

Из документации:

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

Вы можете рассмотреть возможность создания категорий или подкласса UINavigationBar и, возможно, создания пользовательских UIButton, которые вы используете для создания UIBarButtonItems.

Всякий раз, когда вы имеете дело с компонентом пользовательского интерфейса, который расширяется от UIView, вы должны рассмотреть возможность создания подклассов и переопределения

- (void)drawRect:(CGRect)rect

Есть много примеров здесь на stackoverflow или на официальном сайте документации Apple.

8
ответ дан 6 December 2019 в 04:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: