
我的一个项目有问题.我在图片中有一个tableview.我的问题是我的自定义单元格背景与UITableView删除按钮重叠.任何人都可以帮我把它带到前面.
我使用下面的代码,但一些开发人员说,如果我们使用该代码Apple可能会拒绝您的应用程序
- (void)layoutSubviews
{
[super layoutSubviews];
for (UIView *subview in self.subviews) {
for (UIView *subview2 in subview.subviews) {
//NSLog(@"confirm is %@",[subview2 class]);
if ([NSStringFromClass([subview2 class]) isEqualToString:@"UITableViewCellDeleteConfirmationView"])
{
// move delete confirmation view
[subview bringSubviewToFront:subview2];
} else if ([NSStringFromClass([subview2 class]) isEqualToString:@"_UITableViewCellActionButton"])
{
[subview bringSubviewToFront:subview2];
}
}
}
}
Run Code Online (Sandbox Code Playgroud)另一个问题是下面的代码只适用于iOS 7但不适用于iOS 8.
- (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath;方法设置为YES,我没有问题,但我们不想缩进.任何想法都可能非常有用.
小智 9
UITableViewCelliOS 7和iOS 8中的子视图层次结构不同,请尝试我的解决方案.
- (void)layoutSubviews {
[super layoutSubviews];
for (UIView *subview in self.subviews) {
// for iOS 8
if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellDeleteConfirmationView"]) {
[self bringSubviewToFront:subview];
return;
}
// for iOS 7
for (UIView *subview2 in subview.subviews) {
if ([NSStringFromClass([subview2 class]) isEqualToString:@"UITableViewCellDeleteConfirmationView"]) {
[subview bringSubviewToFront:subview2];
return;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1151 次 |
| 最近记录: |