Из документа от Apple о UIAppearance
:UIAppearance экземпляры в иерархии
Чтобы настроить появления для экземпляров класса, содержащихся в экземпляре класса контейнера, или экземпляры в иерархии, используйте + appearanceWhenContainedIn: для соответствующий внешний вид прокси.
В любой заданной иерархии зрения выигрывает внешний внешний вид. Специфика (глубина цепи) - это тай-брейк.
Иными словами, оператор сдерживания рассматривается как частичный порядок. Учитывая конкретное упорядочение (фактическая иерархия подчинения), мы выбираем частичный порядок, который является первым уникальным совпадением при чтении фактической иерархии из окна вниз.
Может ли кто-нибудь дать пример для случая, когда можно указать иерархию?
Рассмотрим случай, что я хочу стиль UITableViewCells
только экземпляр конкретного UITableViewController
подкласса
[[UITableViewCell appearance] setTintColor:[UIColor whiteColor]];
Но только для одного из SomeXYZTableViewController's
экземпляров, то есть для двух различных экземпляров SomeXYZTableViewController
, я хочу другой оттенок цвета ,
Есть много других способов сделать это, но я просто задаюсь вопросом, возможно ли это.
Для еще несколько примеров - также из реальной жизни - видеть мою книгу: http://www.apeth.com/iOSBook/ch25.html#_appearance_proxy – matt
Кстати, способность делать это причина придерживаться Objective-C. По какой-то причине я не понимаю, вы не можете использовать 'appearanceWhenContainedIn:' из Swift. – matt
Я вижу.Это то, чего я действительно не хотел делать. Похоже на излишнюю сумму за очень небольшую плату. Думаю, я просто использую другие методы для этого. Благодарю. – p0lAris