2012年4月26日 星期四

[iOS] UITableView (Multi-Select) 多選頁面實作

剛開始學習 iOS 的開發, 在實作UITableView 的多選時,
剛開始都很順利, 不過在設定多選時出了點問題
設定好的多選頁面, 被選到cell 不會有勾選的小圖
為什麼呢?   讓我們看下去,

首先實作UITableView Controller,
建立好table view 之後實作

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return UITableViewCellEditingStyleDelete | UITableViewCellEditingStyleInsert;
}

並在 想要出現多選狀態時設定  setEditing 為 YES .

- (IBAction)ClickEditButton:(id)sender {
    self.isSelectMode = !self.isSelectMode;
    [self.tableView setEditing:self.isSelectMode animated:YES];
}


一般來說, 作到這邊多選的頁面就建立好了,
剩下的就等你紀錄選到的index和後續的處理...






































不過我剛實作時遇到一個問題, 設定好多選頁面之後, 選到cell的check icon 不會出現,

找了很久發現問題是~
在Table View Cell 設定的  Selection 被我設為 None , 改回 Blue 就會正常顯示了!!!


如果要紀錄選到的 index 可以在實作 這2個method:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (self.isSelectMode) {
       // add index.row;
    } else {
     
    }
}

- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (self.isSelectMode) {
        //remove indexrow;
    } else {
     
    }
}








沒有留言: