当我将我的应用程序从iOS6更新到iOS7时,我注意到当在单元格视图或contentView上将clipsToBounds属性设置为NO时,iOS6单元格内容允许跨越单元格,iOS7似乎禁用了此功能即使整体视图,tableview,cell和cellcontent clipsToBounds都设置为NO。您可以在附带的图像中看到此示例。第一个是在iOS6上运行的测试代码,第二个是在iOS7上运行的相同代码:
有谁知道如何解决这个问题?我猜这只是一个单行修复,但我花了几个小时没有运气。为了避免重大的重写和头痛我,但是玩视图,tableview,cell和cellcontent clipsToBounds没有结果 - 所有在iOS7上都设置为NO,所以我不确定发生了什么不同。
您可以在以下位置查看和下载示例项目:https://github.com/Jon-Schneider/ClipsToBoundsTest
谢谢!
答案 0 :(得分:74)
对于表格视图单元格,iOS 7中的视图层次结构略有变化。
您可以尝试将剪辑设置为contentView的超级视图中的边界:
[cell.contentView.superview setClipsToBounds:NO];
如果您将以下内容添加到示例代码并在ios7 vs ios6上运行,您会看到单元格视图和内容视图之间还有一个视图:
[cell.contentView.superview setClipsToBounds:NO];
NSLog(@"%@", cell.contentView.superview);
NSLog(@"%@", cell.contentView.superview.superview);
NSLog(@"%@", cell);
if (self.view.clipsToBounds) {
NSLog(@"Master clips");
} else {
NSLog(@"Master no clip");
}
答案 1 :(得分:9)
您可以在剪辑子视图的tableview属性检查器中进行更改。