之前一直在項目中看到在以下的方法中诚亚,有時候就加了deselectRowAtIndexPath這個方法,有時候就沒加午乓,也沒太在意站宗,今天又被我碰到了,索性查一下到底為什么益愈。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
可能你會遇到過梢灭,在導(dǎo)航+tableview,push進(jìn)去腕唧,然后back回來之后或辖,發(fā)現(xiàn)cell還是選中狀態(tài)。當(dāng)然枣接,解決辦法簡單颂暇,添加一句
[tableView deselectRowAtIndexPath:indexPath animated:YES]
即可。
令人糾結(jié)的時但惶,在沒加這句的時候耳鸯,有的視圖同樣回來之后,選中狀態(tài)消失膀曾,為什么會出現(xiàn)這種情況呢县爬?
原來是,如果UITableView是在UITableViewController中時添谊,就會默然取消财喳,而如果是在UIViewController時,需要添加這一句斩狱,不過有時即使前者也需要添加耳高,那是因為在視圖加載時有其它功能代碼,具體情況各異所踊。所以后者必須加泌枪,前者可能需要加。