2015-01-04 89 views
0

背景如何在UITableView中設置Section屬性?

我想設置部分在UITabelLabelCell屬性。

原貼過時的OBJ-C代碼/方法下面

這是代碼來設置用於UITable內節標題的字體。我正在嘗試爲iOS7 +採用此代碼。

的OBJ-C代碼

[[UILabel appearanceWhenContainedIn:[UITableViewHeaderFooterView class], nil] setFont:[UIFont fontWithName:@"MyFont" size:8]]; 

我認爲它應該是這個樣子(並非一定):

UILabel.appearanceForTraitCollection(trait: UITraitCollection) 

,但我無法抄寫UITraitCollection

+0

可能重複[appearanceWhenContainedIn在Swift](http://stackoverflow.com/questions/24136874/appearancewhencontainedin-in-swift) – akashivskyy 2015-01-04 14:54:06

回答

5

編輯:爲iOS7 +

最佳目前的解決方案實現您的UITableViewDelegate一個的tableView方法:

func tableView(tableView: UITableView, willDisplayHeaderView view: UIView, 
    forSection section: Int) { 

     // Background color 
     view.tintColor = UIColor.blackColor() 

     // Text Color/Font 
     let header = view as UITableViewHeaderFooterView 
     header.textLabel.textColor = UIColor.greenColor() 
     header.textLabel.font = my_font // put the font you want here... 
    } 

原帖下方(過時哈克溶液)

調查

在這個問題上搜索少量的Apple文檔和SO Q & A,我無法弄清楚如何使用UITraitCollection

但是,我似乎發現了一個可能的破解this post in SO

我用下面的實現測試了它,它似乎工作。

我們需要採取三個步驟來創建一個Objective-C類方法來完成這項工作。使用橋接頭,我們可以無縫地調用Swift中的方法。

加入橋接報

#import "BridgeAppearance.h" 

創建BridgeAppearance.h

@interface BridgeAppearance : NSObject { } 

+ (void)setFontForUITableHeaderFooters: (UIFont*)font; 

@end 

創建BridgeAppearance.m

​​