2011-12-05 89 views
0

我需要遍歷viewcontroller的視圖層次結構使用什麼字體。有沒有一種通用的方法來確定視圖(和視圖的子類)是否支持字體?我不想做一個巨大的if-then-else:iPad:如何確定UIView子類是否支持字體?

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

由於維護問題。我更喜歡有一種方法,如

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

但這並不像人們希望的那樣工作。

回答

1

您可以使用從NSObject繼承的respondsToSelector方法。

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

或者

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

測試和@selector(字體)的作品! – mobibob