iOS應用開發(fā)中UITableView的分割線的一些設置技巧
對于ios7,ios8及以上來說,調(diào)整UITableView的cell的分割線位置已經(jīng)是相當不便,因為UITableView內(nèi)部使用了margin layout.
其實只需要如下這樣子就可以實現(xiàn)分割線的控制。
-(void)tableView:(UITableView )tableView willDisplayCell:(UITableViewCell )cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
// 下面這幾行代碼是用來設置cell的上下行線的位置
if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
[cell setLayoutMargins:UIEdgeInsetsZero];
}
//按照作者最后的意思還要加上下面這一段,才能做到底部線控制位置,所以這里按stackflow上的做法添加上吧。
if([cell respondsToSelector:@selector(setPreservesSuperviewLayoutMargins:)]){
[cell setPreservesSuperviewLayoutMargins:NO];
}
}
如果要直接使用TableView的sectionTitle,但又想設置它的字體,顏色什么的,可以使用如下方法。
- (void)tableView:(UITableView )tableView willDisplayHeaderView:(UIView )view forSection:(NSInteger)section
{
// Background color
view.tintColor = [UIColor blueColor];
// Text Color
UITableViewHeaderFooterView *header = (UITableViewHeaderFooterView *)view;
[header.textLabel setTextColor:[UIColor redColor]];
// 另一種方法設置背景顏色
// header.contentView.backgroundColor = [UIColor blackColor];
}
不顯示分割線
通過tableFooterView修改UITableView分割線:
在使用UITableView的時候,如果沒有數(shù)據(jù)/數(shù)據(jù)很少,會發(fā)現(xiàn)即使沒有數(shù)據(jù)的cell也會有分割線,這樣看起來并不美觀,通常我們希望只有顯示數(shù)據(jù)的cell會顯示對應的分割線,而不顯示數(shù)據(jù)的cell不顯示分割線。
常用的做法有兩種:
第一種做法是首先取消顯示分割線,然后自定義cell,在cell的最底部加上一個高度為1的view,這樣看起來就像是一條分割線。只有cell有數(shù)據(jù)顯示出來的時候才會顯示這個view,這樣就達到了目的。
第二種做法既不用取消顯示分割線,也不需要自定義cell,而是直接這樣做:
self.tableView.tableFooterView = [[UIView alloc] init];
運行顯示結果,發(fā)現(xiàn)就已經(jīng)達到了我們的目的。很明顯這種做法更方便。
相關文章
Objective-C的MKNetworkKit開發(fā)框架解析
這篇文章主要介紹了Objective-C的MKNetworkKit開發(fā)框架解析,MKNetworkKit是一個用于iOS開發(fā)的輕量級框架,需要的朋友可以參考下2015-11-11iOS使用pageViewController實現(xiàn)多視圖滑動切換
這篇文章主要為大家詳細介紹了iOS使用pageViewController實現(xiàn)多視圖滑動切換,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-06-06詳解iOS開發(fā)中UIPickerView控件的使用方法
這篇文章主要介紹了詳解iOS開發(fā)中UIPickerView控件的使用方法,代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下2015-11-11iOS開發(fā)之級聯(lián)界面(推薦界面)搭建原理
這篇文章主要為大家詳細介紹了iOS級聯(lián)界面(推薦界面)搭建原理,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-08-08