Bha*_*tap 17 iphone objective-c uitableview tableview ios
我正在创建一个表视图,其中有10个部分,都有标题视图但没有单元格.因此,简而言之,我的表视图仅显示10个标题视图; 任何部分都没有细胞.现在,当我这样做时,部分的标题视图之间有一些空格.我想删除那个空间.那可能吗?你可以给我一些提示或解决这个问题吗?
以下是数据源方法:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 10;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 0;
}
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UILabel * label = [[UILabel alloc] init];
label.backgroundColor = [UIColor grayColor];
return label;
}
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
return 44.0f;
}
Run Code Online (Sandbox Code Playgroud)
以下是输出的屏幕截图:

我有一个复杂的原因,为什么我这样做,我不能通过写作来解释.我想要做的就是在节的标题视图中没有间距.先感谢您.
RAJ*_*AJA 48
试试这个..
self.tableView.rowHeight = 0; // in viewdidload
[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone]; // in viewdidload
-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
{
return 0.01f;
}
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
return <your header height>;
}
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section{
return [[UIView alloc] initWithFrame:CGRectZero];
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
return <your header view>;
}
Run Code Online (Sandbox Code Playgroud)
也有表seprator为none.
MMi*_*lav 21
如果返回0,tableView:heightForFooterInSection:则返回默认值(可能为10.0).这很棘手,但您可以使用CGFLOAT_MIN而不是0删除页脚.
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
return CGFLOAT_MIN;
}
Run Code Online (Sandbox Code Playgroud)
更新:
斯威夫特3:
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return CGFloat.leastNormalMagnitude
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18844 次 |
| 最近记录: |