2011-12-11 59 views
1
的字體

我在我的UIView多textviews我需要設置textviews的字體大小,所以我用下面的代碼,但它並沒有改變字體大小,設置的UITextView

for (UIView *subview in self.view.subviews) { 

    if ([subview isKindOfClass:[UITextView class]]) { 

     ((UITextView *)subview).font = [UIFont fontWithName:@"Helvetica" size:12]; 
    } 

} 
+1

添加一些日誌語句,以便您可以縮小問題發生的位置。乍一看,這段代碼看起來不錯,但是如果你的文本視圖包含在其他視圖中,那麼你將看不到它們。在for循環下記錄每個子視圖,然後在if語句之後再次記錄。你確定他們是文本視圖,而不是文本字段? – jrturton

+0

謝謝你是對的 – Mona

回答

0

由於@ jrturton說,也許你的文本視圖是子視圖的子視圖,那麼需要某種遞歸的代碼。例如:

-(void) setNewFontToTextViews:(UIView*) theView { 
    if([[theView subviews] count]) 
     for(UIView * subView in [theView subviews]) 
      [self setNewFontToTextViews:subView] ; 
    else if([theView isKindOfClass:[UITextView class]]) 
     [(UITextView*)theView setFont:[UIFont fontWithName:@"Helvetica" size:12]]; 
} 
+0

謝謝。你是對的。我有我的元素在scrollview這就是爲什麼它沒有工作,所以我設置視圖搜索到我的滾動視圖,它的工作! – Mona