iPad: Как определить, поддерживает ли подкласс UIView шрифты? - PullRequest
0 голосов
/ 05 декабря 2011

Мне нужно пересмотреть иерархию представления viewcontroller, какой шрифт используется.Есть ли общий способ определить, поддерживает ли представление (и подкласс представления) шрифты?Я не хочу делать огромное if-then-else:

if ([[view isKindOfClass: [UILabel class]) {
  // Do stuff
} else if ([[view isKindOfClass: [UITextField class]) {
  // Do stuff
} etc. ...

из-за проблемы с обслуживанием.Я предпочитаю использовать такой метод, как

if ([view canPerform: @selector(getFont:)]) {
  // Do stuff
}

, но это не работает, как можно было бы надеяться.

1 Ответ

1 голос
/ 05 декабря 2011

Вы можете использовать метод respdsToSelector, унаследованный от NSObject.

if( [ view respondsToSelector: @selector( font ) ] ) {}

Или

if( [ view respondsToSelector: @selector( setFont: ) ] ) {}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...