iOS8下設置table的分割線,左側總是有間距

原因:

 ios7的時候在storyboard 設置 TableView的separator intend = 0 可以讓tableview的分割條頂到頭。

但是,升級了iOS8時,發現不起作用了。iOS8 在cell和tableview中都引入了layoutMargins屬性,而且這個屬性在iOS 7中並沒有,所以你需要區別對待這兩個版本。

解決辦法如下:

-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
        [cell setSeparatorInset:UIEdgeInsetsZero];
    }
 
    if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
        [cell setLayoutMargins:UIEdgeInsetsZero];
    }
	
}

-(void)viewDidLayoutSubviews
{
    [super viewDidLayoutSubviews];
 
    if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {
        [self.tableView setSeparatorInset:UIEdgeInsetsZero];
    }
 
    if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) {
        [self.tableView setLayoutMargins:UIEdgeInsetsZero];
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章