2013-12-13 58 views
0

我有一個包含一個文本視圖細胞一個UITableView ......我將它們設置最初使用這個,但使用viewWithTag:UITableViewCell viewWithTag如何找出正在編輯哪個單元格?

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier]; 

if (cell == nil) { 
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier]; 
} 

UITextView *tv = [cell viewWithTag:2112]; 

我很困惑什麼的是如何捕捉一個正在編輯特定的單元格。

在我的編輯處理程序中,如何獲取正在編輯的文本視圖所在的單元格?

爲TextView的編輯處理程序不會有它在細胞的上下文。

回答

1

您可以指定標籤的UITextView像

UITextView *tv = [cell viewWithTag:2112]; 
[tv setDelegat:self]; 
[tv setTag:2000+indexPath.row]; 

和UITextView的委託方法獲取知道哪個小區開始編輯

- (void)textViewDidBeginEditing:(UITextView *)textView 
{ 
    if (textView.tag == 2000)//for first cell 
    { 
     .... 
    } 
    else if (textView.tag == 2001)//for second cell 
    { 
     .... 
    } 
} 
1

我不知道爲什麼這麼多的人使用這樣的標籤。如果您製作了自定義的UITableViewCell子類,並且將IBOutlets添加到您需要訪問的任何UI元素(如本例中的文本視圖),那麼您將擁有更簡潔的代碼。然後在cellForRowAtIndexPath中給文本視圖一個標籤,該標籤等於indexPath.row因此您可以查詢該標記的文本視圖,從而獲取單元格的indexPath。添加UITableViewCell的子類只需添加IBOutlets並掛鉤它們 - 常常不需要在.m文件中添加任何內容。

0

子類的UITextView然後添加一個名爲@property (nonatomic, strong) id customData ;屬性,存儲在該的CustomData indexPath,然後使用indexPath找到小區。

阿爾特在本地,只需將該單元格存儲在customData中,但也可以使用弱而不是強的@property (nonatomic, weak) id customData ;

相關問題