TableView使用中遇到一些细节场景
前提:在UITableView中添加SearchController.searchBar作为tableHeaderView
-
收键盘
当在searchBar中输入完内容后,当结果列表出现后,希望能在点击tableView的空白区域后,优雅收起键盘「创建手势是必然操作啦~」
<u style="box-sizing: border-box;">此时需要注意</u>:
[self.view endEditing:YES];
// 无效替换为 :
[_searchController.searchBar resignFirstResponder];
-
指定一行Cell设置为已选状态
简单设置
cell.selected = YES;
或[cell setSelected:YES animated:YES];
都无效(笔者在cell的- setSelected:animated:中打了断点是有执行的)参考这个链接找到原因【tableView默认选中某一行...】
原因:
调用cell的setSelected方法,在这之后,又将自动调用一次cell的setSecleted方法,而且参数selected的值为NO;<u style="box-sizing: border-box;">So</u>被第二次自动调用的setSelected方法覆盖。
实用代码:
if(indexPath.row == 0) {
[cell setSelected:YES animated:YES];
[tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];
}
网友评论