2014-01-19 52 views
3

我總是在我的自定義部分視圖上方顯示一行。我怎樣才能刪除它?刪除上面的部分

+0

可不可以給你的UI的大圖?沒有上下文很難說清楚。 – user2105505

+0

@ user2105505我已經添加了我的'UITableView'的大視圖 – iCode

+1

我猜你正在使用UIToolbar作爲自定義節標題視圖。在這種情況下,只需設置'view.clipsToBounds = YES'即可刪除頂部邊框 – Vladimir

回答

1

在界面構建器中檢查UITableView的樣式。如果它被分組,那麼它將有像你所看到的線。如果它很清楚,它不應該。我相信plain是默認設置,所以我的下一個猜測是這些行實際上來自位於標題頂部的UITableViewCell的底部。嘗試將分隔符更改爲無或單行蝕刻,看看是否改變了這一行。

編輯:我設置在界面生成器默認的UITableView並得到了這一點:

Default TableView

正如你可以看到,有部分上方沒有行。否則它看起來就像你的。我的下一個問題將是你在你的UITableViewController的代碼中設置任何屬性?像cellHeight或其他可能會影響它,但我不知道肯定。也可以嘗試將一個TableViewController放入故事板,並手動添加靜態部分以查看它們是否具有相同的結果。

+0

當我使用它時,單元格之間不存在任何線條。但是我想要在我的單元格之間放置線條,但是線段上方沒有線條 – iCode

+0

是的,將分隔符更改爲無將刪除您的單元格之間的線條。這樣做的原因是看它是否刪除了部分標題頂部的行。如果是這樣,那條線就屬於這個單元格。如果不是,它屬於別的東西。 – user2105505

+0

是的,當我使用「單線蝕刻」或「無」時,它將刪除該部分上方的線條。 – iCode

3

試試這個,這個代碼的工作對我來說:

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { 

     UILabel *sectionHeader = [[UILabel alloc] initWithFrame:CGRectNull]; 
     sectionHeader.hidden = YES; 
     return sectionHeader; 

} 

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { 

     return 0; 
} 

希望它能幫助!

+0

我希望我的部分視圖保持可見狀態,我只想刪除它上面的一行。 – iCode

+0

試試這個:'tableView.separatorStyle = UITableViewCellSeparatorStyleNone;' – amurcia

+0

或者這個:'self.tableView.separatorColor = [UIColor clearColor];' – amurcia

0

添加行headerView.clipsToBounds = true在viewForHeader方法