昨天在写UITableViewCell的时候遇到一个问题,我是用加载xib文件的方式写的UITableViewCell。在xib文件中,放了一个UIView。这时候问题出现了,每当我点击某个表单项目的时候,UITableViewCell对应的xib中的UIView就不显示了,我百思不得其解。后来我把表单项点击之后的背景效果去掉了,在
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{}
中加上了一句
cell.selectionStyle=UITableViewCellSelectionStyleNone;
就是让某个cell被选中的情况下,cell的颜色不会发生变化。
问题圆满解决。
后来我分析原因,可能是在xib中加入的UIView可能被放置在了背景颜色层的下边,导致了背景颜色不透明的情况下遮挡住了xib中的UIView,这算不算是Xcode的一个bug呢?
如果不是用xib直接用代码写cell,在cell中加入UIView不知道会不会出现这个问题,有时间的时候试试。