UITableViewCell的层级

1、一个在contentView 上的imageView:

imageView(UITableViewCell中的)的superView是UITableViewCellContentView。

imageView的superView的superView是UITableViewCell

imageView的superView的superView的superView是UITableView


2、在iOS6上UITableViewCell的层级为:

UITableViewCell—>UITableViewCellContentView;
在iOS7上UITableViewCell的层级为:
UITableViewCell—>UITableViewCellScrollView—>UITableCellContentView。
3、iOS7上多了一层,cell不再是contentView的superview,于是

    [cell insertSubview:myView belowSubview:cell.contentView];

这个方法执行失败,相当于只是[cell addSubview:myView];,所以达不到想要的效果。

【解决方案】:
要在iOS6和iOS7上都能实现将myView插入到contentView底下的效果,将语句改成如下方式即可:

    [cell.contentView.superview insertSubview:myView belowSubview:cell.contentView];


【吐槽】:
坑爹的苹果,坑爹的iOS7,我暂时没有找到任何文档有关于UITableViewCellScrollView这个类的描述,也无法直接引用这个类,Xcode会提示”Unknown type name 'UITableViewCellScrollView’”。还好可以用上面的方法间接引用,否则完全是作死啊。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值