В соответствии с ссылкой на протокол UIAppearance класс должен соответствовать UIAppearanceContainer и поддерживают методы, помеченные UI_APPEARANCE_SELECTOR
для того, чтобы прокси внешнего вида работать правильно. В собственном обучающем видео Apple от WWDC 2011, «Настройка внешнего вида UIControls» , они приводят примеры, где они используют и обсуждают как UIButton, так и UILabel.
Оба эти класса соответствуют (через наследование от UIView) протоколам UIAppearance и UIAppaeranceContainer, , но ни один из них не имеет методов, помеченных UI_APPEARANCE_SELECTOR
. Хотя они и работают, но мои центы тратятся на то, что Apple не полностью их поддерживает, поэтому было бы небезопасно использовать на них прокси-сервер внешнего вида.
Итак, у меня есть несколько вопросов:
- Я что-то упустил, чтобы UIButton / UILabel соответствовали требованиям прокси-сервера UIAppearance?
- Не могли бы вы утверждать, что они небезопасны для использования с прокси-сервером UIAppearance?
- На каком объекте вы будете использовать внешний прокси-сервер в производстве, если окажется, что эти два класса не соответствуют (очевидным ответом является, конечно, любой объект, который помечает свои методы
UI_APPEARANCE_SELECTOR
и соответствует Протоколы UIAppearance)?