2012年5月24日 星期四

iOS小抄_關於UITableView的細微屬性調整

UITableView是開發iOS時使用非常頻繁的物件,而其中有很多細微的小設定,可以讓界面更親民一點。

1. 不要與使用者互動。(有時候UITableView只是用來顯示資料,並沒有要與使用者互動。)
tableview.userInteractionEnabled = NO;



2. 選中Cell時不要變色,但按鈕還是可以操作。(有時候我們會自訂按鈕在UITableView上面,希望使用者可以按下這些按鈕進行互動,但卻不希望使用者點選cell時會變色。)
cell.selectionStyle = UITableViewCellSelectionStyleNone;

因為是以cell為單元進行設定,所以是在UITableView的delegate:cellForRowAtIndexPath進行設定,也就是可以設定某些條件下的Cell不進行變色,某些會變。


3. UITableView模式為Plain時,底色為透明。
tableview.backgroundColor = [UIColor clearColor]; tableview.backgroundView = nil; tableview.opaque = NO;

3-1. UITableView模式為Grouped時,底色為透明。
[tableSearch setBackgroundView:nil];

4. 利用程式碼選取某一個Cell。(比如左邊為Table右邊為統計圖,點擊統計圖時TableView要移至特定的Cell)
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:row inSection:section]; [tableView selectRowAtIndexPath:indexPath animated:YES scrollPosition:UITableViewScrollPositionMiddle];
設定scrollPosition:UITableViewScrollPositionMiddle會讓設定後,UITableView會以該Cell為中心滾動到該位置,若是不希望滾動則設定為:UITableViewScrollPositionNone。



5. UITableView設定為不可滾動。
tableSearch.scrollEnabled = NO;


6. 設定Style為Plai時的外框線。
tableView.layer.borderWidth = 1.0f; tableView.layer.borderColor = [UIColor lightGrayColor].CGColor;


7. UITableView設定隔線顏色。
tableview.separatorColor = [UIColor brownColor];

注意:要可以設定框線必須要 #import <QuartzCore/QuartzCore.h>

沒有留言:

張貼留言