你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS應用開發中UITableView的分割線的一些設置技巧

iOS應用開發中UITableView的分割線的一些設置技巧

編輯:IOS開發綜合

對於ios7,ios8及以上來說,調整UITableView的cell的分割線位置已經是相當不便,因為UITableView內部使用了margin layout.

其實只需要如下這樣子就可以實現分割線的控制。
復制代碼 代碼如下:
-(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的時候,如果沒有數據/數據很少,會發現即使沒有數據的cell也會有分割線,這樣看起來並不美觀,通常我們希望只有顯示數據的cell會顯示對應的分割線,而不顯示數據的cell不顯示分割線。
常用的做法有兩種:

第一種做法是首先取消顯示分割線,然後自定義cell,在cell的最底部加上一個高度為1的view,這樣看起來就像是一條分割線。只有cell有數據顯示出來的時候才會顯示這個view,這樣就達到了目的。

第二種做法既不用取消顯示分割線,也不需要自定義cell,而是直接這樣做:
復制代碼 代碼如下:
self.tableView.tableFooterView = [[UIView alloc] init];

運行顯示結果,發現就已經達到了我們的目的。很明顯這種做法更方便。

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved