问题原因:
view并没有消失,只是变透明了而已。
下面是从苹果官方文档拷贝的:
UITableViewCell changes the background color of all sub views when cell is selected or highlighted.
意思就是说当UITableViewCell被选中或者高亮的时候,它的所有子view的颜色都会改变。
解决方法:
// 用button包装view,这样view就不会随着cell选中时高亮了
UIButton *accessoryView = [[UIButton alloc] init];
[accessoryView addSubview:item.accessoryView];
self.arrowAccessoryView = accessoryView;
[self.contentView addSubview:self.arrowAccessoryView];
至于为什么?我现在也没搞懂,只是投机取巧用一个button包装了view,恰好就能用了,希望如果您看到这篇文章,并解决了问题,或者你有什么想法,可以直接留言!