我可以调整UITableview
分隔线的高度吗?我UIView
在单元格处添加用作分隔线,它很好,问题是当我滑动单元格删除它时,删除按钮是问题,它与分隔线重叠,还是我可以调整删除按钮的高度?
问问题
6665 次
4 回答
1
Rashad 粘贴的代码很旧(在此处找到),似乎不适用于 iOS 7 或 iOS 8。
这是有效的更新代码:
-(void)layoutSubviews {
UIView *deleteButtonView = nil;
for (UIView *subview in self.subviews) {
// find the delete view in iOS 8
if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellDeleteConfirmationView"]){
deleteButtonView = subview;
break;
}
// find the delete view in iOS 7
if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellScrollView"]) {
for (UIView *secondSubview in [subview subviews]) {
if ([NSStringFromClass([secondSubview class]) isEqualToString:@"UITableViewCellDeleteConfirmationView"]) {
deleteButtonView = secondSubview;
break;
}
}
}
}
int heightOffset = 5;
CGRect buttonFrame = deleteButtonView.frame;
buttonFrame.origin.y = heightOffset;
buttonFrame.size.height = self.frame.size.height-2*heightOffset;
deleteButtonView.frame = buttonFrame;
}
于 2014-10-21T13:26:22.997 回答
0
我总是在单元格的 contentView 上像 subView 一样绘制分隔线。并在 tableView 中禁用 separatorStyle。并像这里自定义删除按钮:https ://stackoverflow.com/a/22396248/887325
于 2014-09-25T04:55:27.900 回答
0
在你的 TableViewCelllayoutSubviews
方法中写下这个:
if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellDeleteConfirmationControl"]) {
UIView *deleteButtonView = (UIView *)[subview.subviews objectAtIndex:0];
CGRect newf = deleteButtonView.frame;
newf.origin.x = 250;
newf.origin.y = 47;
newf.size.width = 30;
newf.size.height = 50;
deleteButtonView.frame = newf;
}
希望这可以帮助.. :)
于 2014-09-25T05:04:13.697 回答
0
如果您无法调整删除按钮的大小,请调整底部的大小UIView
,使其与删除按钮重叠。
于 2014-11-28T03:46:24.057 回答