我在一個Nib上使用了一個UITableView控件,並將委託/數據源設置爲我的控制器,其中「表數據」數組僅被初始化爲2個項目。 但是,在模擬器中運行時,我看到在表視圖中呈現額外的空行。如何讓UITableView只渲染兩行?只有兩行UITableView
謝謝!
我在一個Nib上使用了一個UITableView控件,並將委託/數據源設置爲我的控制器,其中「表數據」數組僅被初始化爲2個項目。 但是,在模擬器中運行時,我看到在表視圖中呈現額外的空行。如何讓UITableView只渲染兩行?只有兩行UITableView
謝謝!
您可以將表視圖的框架大小減小到2 * cellHeight。
或者任何必要的高度。所以說,每個單元的高度爲44個像素,並且只有一個部分,所以沒有章節標題,你會怎麼做:
self.tableView = [[UITableView alloc]
initWithFrame:CGRectMake(x-coord, y-coord, width, 88)
style:UITableViewStylePlain];
這應該只顯示2個格,假設他們在每個高度44個像素。
另外,你可以設置你的表進行分組,然後禁用背景:self.tableView.backgroundColor = [UIColor clearColor],如果在iPad上self.tableView.backgroundView = nil – bgoers
您可以從您的viewDidLoad調用這個方法:
- (void) addFooter
{
UIView *v = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 10)];
v.backgroundColor = [UIColor clearColor];
[self.tableView setTableFooterView:v];
}
我有一個類似的問題,如何只顯示包含數據的單元格的分隔符。 tableView呈現儘可能多的行,因爲它可以放入分配給它的區域(寬度和高度)。您在numberOfRowsInSection
中指定的號碼僅用於確定應撥打cellForRowAtIndexPath
多少次。
爲了克服分隔線空單元我做了以下的渲染:
整個的tableView禁用分隔符。您可以在「檢查器」的「界面」構建器中通過調用[yourTableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];
來完成該工作。
在你的cellForRowAtIndexPath
裏面你用table填充你的tableview創建一個新的UIView
並將它設置爲該單元格的子視圖。這個觀點的背景是淺灰色和略帶透明的。可以做到這一點與以下操作:
UIView *separatorView = [[UIView alloc] initWithFrame:CGRectMake:
(0, cell.frame.size.height-1,
cell.frame.size.width, 1)];
[separatorView setBackgroundColor:[UIColor lightGrayColor]];
[separatorView setAlpha:0.8f];
[cell addSubView:separatorView];
這種觀點的寬度爲1個像素,其是相同的默認的分隔符,它運行該單元的長度,在底部。
既然你在numberOfRowsInSection這些子視圖將只用於擁有的數據,應該有一個分離的細胞創建指定的cellForRowAtIndexPath僅稱爲頻繁。
希望這會有所幫助。
設置
urtableview.frame=(x,y,width,[rowheight * num of rows])
如果你不需要的部分或頁腳,把桌上的一個空的腳註。
在viewDidLoad中添加
tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
見How to remove empty cells in UITableView?
另一種方式來完成,這是返回一個空頁腳視圖。如果您需要上一節的頁腳,這特別有用。
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
return [[UIView alloc] initWithFrame:CGRectZero];
}
最後,這裏是另外一個鏈接,用其他方法來完成這個。
能否請您粘貼' - (NSInteger的)numberOfSectionsInTableView:(UITableView的*)tableView'和' - (NSInteger的)的tableView:(UITableView的*)的tableView numberOfRowsInSection:(NSInteger的)section'代碼。你使用分組表格視圖嗎? – sn3ek
你能告訴我你的代碼嗎?你如何將數據添加到你的單元格? – Hosni