Ios UITableview边框隐藏截面单元
我正在尝试创建带边框、节标题和单元格的UITableview。我正在使用xib文件。UITableview和单元格是使用xib文件创建的,其中“ViewForHeaderSection”用于节头,但当我尝试将边框设置为UITableview时,它会隐藏节及其后面的单元格。 }Ios UITableview边框隐藏截面单元,ios,objective-c,uitableview,tableviewcell,uitableviewsectionheader,Ios,Objective C,Uitableview,Tableviewcell,Uitableviewsectionheader,我正在尝试创建带边框、节标题和单元格的UITableview。我正在使用xib文件。UITableview和单元格是使用xib文件创建的,其中“ViewForHeaderSection”用于节头,但当我尝试将边框设置为UITableview时,它会隐藏节及其后面的单元格。 } 我想要UITableview边框,但有完整的节头和单元格,有人知道如何实现吗?您可以尝试假装您想要的行为。不使用边框,您必须使用添加在UITableViewCell的所有四个角上的UIView,每个UIView具有适当的
我想要UITableview边框,但有完整的节头和单元格,有人知道如何实现吗?您可以尝试假装您想要的行为。不使用边框,您必须使用添加在
UITableViewCell
的所有四个角上的UIView
,每个UIView
具有适当的高度/宽度,并使用灰色作为背景色。现在,在您的cellForRow
中,您必须检查单元格的位置,并根据该位置隐藏/取消隐藏顶部和底部UIView
(左侧和右侧UIView
)。大概是这样的:
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
.....
if(indexPath.row == 0){
[cell.topBorderView setHidden: NO];
[cell.bottomBorderView setHidden: YES];
}else if(indexPath.row == dataSourceArray.count - 1){
[cell.topBorderView setHidden: YES];
[cell.bottomBorderView setHidden: NO];
}else{
[cell.topBorderView setHidden: YES];
[cell.bottomBorderView setHidden: YES];
}
return cell;
}
当然,删除整个
UITableView上的边框
您可以尝试假装您想要的行为。不使用边框,您必须使用添加在UITableViewCell
的所有四个角上的UIView
,每个UIView
具有适当的高度/宽度,并使用灰色作为背景色。现在,在您的cellForRow
中,您必须检查单元格的位置,并根据该位置隐藏/取消隐藏顶部和底部UIView
(左侧和右侧UIView
)。大概是这样的:
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
.....
if(indexPath.row == 0){
[cell.topBorderView setHidden: NO];
[cell.bottomBorderView setHidden: YES];
}else if(indexPath.row == dataSourceArray.count - 1){
[cell.topBorderView setHidden: YES];
[cell.bottomBorderView setHidden: NO];
}else{
[cell.topBorderView setHidden: YES];
[cell.bottomBorderView setHidden: YES];
}
return cell;
}
当然,删除整个
UITableView
上的边框。您的边框宽度太大,需要添加的内容太多
用于单元格中的配置文件图片
您应该以边框宽度的增量设置profile Picture imageView left
let margin_left = BorderWidth + space_from_left.
ProfileImageView.frame = CGRect(x: margin_left,y:Y,width:yourRequiredWidth, height:requiredHeight)
和节标题标签相同
let margin_left = BorderWidth + space_from_left.
headerLabel.frame = CGRect(x: margin_left,y:Y, width:yourRequiredWidth, height:requiredHeight)
您的边框宽度太大,您必须添加的是 用于单元格中的配置文件图片 您应该以边框宽度的增量设置profile Picture imageView left
let margin_left = BorderWidth + space_from_left.
ProfileImageView.frame = CGRect(x: margin_left,y:Y,width:yourRequiredWidth, height:requiredHeight)
和节标题标签相同
let margin_left = BorderWidth + space_from_left.
headerLabel.frame = CGRect(x: margin_left,y:Y, width:yourRequiredWidth, height:requiredHeight)
你能分享你的代码吗?做一件事。我不知道这是正确的答案。但是试试看。增加边框高度的大小,并在节标题的底部设置标签。我们可以自定义节标题。这里有一个委托方法。您可以再做一件事来避免此问题。根据边框宽度将tableView的边框颜色设置为背景色或tableView的父视图和左填充。这样可以避免这个问题。您将边框宽度设置为20px,这将隐藏高度为50px的节标题顶部区域。实际上,您将看到节标题的30像素。您应该增加剖面高度并为子视图添加高度偏移20 px,或者减少边框宽度以查看放置的子视图。是否可以共享代码?请执行一件事。我不知道这是正确的答案。但是试试看。增加边框高度的大小,并在节标题的底部设置标签。我们可以自定义节标题。这里有一个委托方法。您可以再做一件事来避免此问题。根据边框宽度将tableView的边框颜色设置为背景色或tableView的父视图和左填充。这样可以避免这个问题。您将边框宽度设置为20px,这将隐藏高度为50px的节标题顶部区域。实际上,您将看到节标题的30像素。您应该增加剖面高度并为子视图添加高度偏移20 px,或者减少边框宽度以查看放置的子视图