2010-11-10 18 views
0

時被去選擇我有我的willDisplayCell一些代碼,選擇一個給定的行/單元格..這部作品的UITableViewCell未接觸新行

-(void) willDisplayCell ... 

.... 

if (somecodition) [cell setSelected] (dont remember the actual methodname) 

.... 

這就是我要完成

-(void) ... cellForRow... { 

    if <condition> setPrivateClassVar = indexPath 
} 

-(void) someMethod { 

    [myTableView reloadData]; 

    [myTableView selectRowAtIndexPath:PrivateClassVar ....] 

    // I expected the variable to be set in cellForRow method. 
} 
什麼

工作正常,因爲它突出顯示了正確的行。但有時在UITableView完全顯示並且我接觸到表中的新行之後;當前選中的行/單元格仍然高亮顯示,並且選中了兩行。這是一個正常的行爲?

回答

0

Afaik這不是默認行爲。你確定你沒有任何代碼重新選擇舊的行嗎?

+0

我想我的問題是.. is willDisplayCell是一個放置自動選擇行的邏輯的好地方嗎?還是有更好的地方呢?有人告訴我把它放在[tableview reloadData]之後,但我認爲這個調用是異步的。 – Arcadian 2010-11-10 19:42:56

+0

把它載入reloadData後。它不是異步的。據我所知,沒有任何UI方法。它們在主線程中呈現。 – 2010-11-10 19:48:38

+0

我會再試一次。但我認爲willDisplayCell被調用的時候它會覆蓋我選中的單元格,導致它被取消選中 – Arcadian 2010-11-10 19:51:20