如何获得TableView内的填充?
我有一个黑暗的透明背景,我想有一个填充我试图完成使用contentInsets
, contentSize
和contentOffset
一个TableView:
CGFloat padding = 10.0f; CGSize size = self.tableView.bounds.size; size.width -= (padding*2); size.height -= (padding*2); self.tableView.contentSize = size; self.tableView.contentInset = UIEdgeInsetsMake(padding, padding, padding, padding); self.tableView.contentOffset = CGPointMake(-padding, -padding);
这是行不通的。 我得到了填充,但细胞也没有resize,也没有重新定位。
我知道,我可以将TableView嵌套在另一个View中,但应该有另一个解决scheme。
编辑:
我对“contentSize”的含义有一个误解。 这不是视口的大小,而是您指定内容的实际大小。 所以我可能会..
- 如果可能,调整单个单元格的大小(可能与TableView的布局过程相冲突)
- 像上面那样将一个内容偏移量应用于TableView
对于宽度,你将不得不混乱每个单元格框架。 对于顶部和底部的插图,使用setContentInset:
如果你想为你的tableview一个paffing只是改变其框架。
如果你想为你的单元填充,请尝试下面的代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Custom"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { CGRect cellFrame = CGRectMake(20,0,200,200); //CHANGE FRAME FOR YOUR APP UITableViewCell *cell = [[[UITableViewCell alloc] initWithFrame:cellFrame reuseIdentifier:CellIdentifier] autorelease]; } //INSERT YOUR CODE TO RETRIVE TEXT TO INSERT INTO A CELL return cell; }