iPad:我如何确定UIView子类是否支持字体?

时间:2011-12-05 19:07:28

标签: ipad uiview fonts

我需要遍历一个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 个答案:

答案 0 :(得分:1)

您可以使用从NSObject继承的respondsToSelector方法。

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

或者

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