關(guān)于deselectRowAtIndexPath

有沒有遇到過,導(dǎo)航+UITableView,在push,back回來之后,當(dāng)前cell仍然是選中的狀態(tài)。

當(dāng)然,解決辦法簡單,添加一句[tableView deselectRowAtIndexPath:indexPath animated:YES]即可。

令人糾結(jié)的時,在沒加這句的時候,有的視圖同樣回來之后,選中狀態(tài)消失,為什么會出現(xiàn)這種情況呢?

原來是,如果UITableView是在UITableViewController中時,就會默認取消,而如果是在UIViewController時,需要添加這一句,不過有時即使前者也需要添加,那是因為在視圖加載時有其它功能代碼,具體情況各異。所以后者必須加,前者可能需要加。

當(dāng)然如果要求高的話,另外一種更加理想的辦法是:

- (void) viewWillAppear: (BOOL)inAnimated {

NSIndexPath *selected = [self.table indexpathForSelectedRow];

if(selected) [self.table deselectRowAtIndexpath:selected animated:NO];

}

這種方法是在放回的過程中逐漸取消選中狀態(tài)的,可以提示剛才點進去的是哪一行,默認的也正是這種效果。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 有沒有遇到過,導(dǎo)航+UITableView,在push,back回來之后,當(dāng)前cell仍然是選中的狀態(tài)。 當(dāng)然,解...
    rebeccaBull閱讀 132評論 0 0
  • 有沒有遇到過,導(dǎo)航+UITableView,在push,back回來之后,當(dāng)前cell仍然是選中的狀態(tài)。 當(dāng)然,解...
    我消失1314閱讀 266評論 0 0
  • 有沒有遇到過,導(dǎo)航+UITableView,在push,back回來之后,當(dāng)前cell仍然是選中的狀態(tài)。 當(dāng)然,解...
    我的馬里奧兄弟閱讀 201評論 0 0
  • 之前一直在項目中看到在以下的方法中,有時候就加了deselectRowAtIndexPath這個方法,有時候就沒加...
    Sax_Frank閱讀 854評論 0 1
  • 那是一個下著大雨的晚上。 伴隨著陣陣低沉的雷鳴,空氣里的濕氣終于無法負荷,雨水順勢溢出,投入大地的懷抱 。撐傘...
    南歌xys閱讀 239評論 5 2

友情鏈接更多精彩內(nèi)容