iOS 7中UITableViewCell的变化

iOS 7的UITableViewCell内部与iOS 6有些不同,cell与contentView之间多了一层UITableViewCellScrollView

估计很多人的代码要作些修改了,下面简单作个比较:

iOS 6中UITableViewCell的View层级

1
2
3
(lldb) po [cell recursiveDescription]
<UITableViewCell: 0xba72e50; frame = (0 0; 320 44); layer = <CALayer: 0xba72fd0>>
| <UITableViewCellContentView: 0xba6f980; frame = (0 0; 320 44); gestureRecognizers = <NSArray: 0xba70960>; layer = <CALayer: 0xba6fb70>>

iOS 7中UITableViewCell的View层级

1
2
3
4
(lldb) po [cell recursiveDescription]
<UITableViewCell: 0xd984fc0; frame = (0 0; 320 44); layer = <CALayer: 0xd982750>>
| <UITableViewCellScrollView: 0xcca9790; frame = (0 0; 320 44); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0xcc54ec0>; layer = <CALayer: 0xccac430>; contentOffset: {0, 0}>
| | <UITableViewCellContentView: 0xdb582a0; frame = (0 0; 320 44); gestureRecognizers = <NSArray: 0xdb49c40>; layer = <CALayer: 0xdb54050>>

大家遇到了哪些问题?如何解决的?欢迎留言讨论。

附小广告一则:唱吧iOS团队诚招iOS工程师,推荐成功即奖励6000元现金或iPhone 6一部,详见这篇blog