2012-03-03 49 views
0

我在自定義節標題中有一個UITextField。有多個部分使用這種類型的頭文件,因此有多個UITextFields。如何確定正在編輯UITableView中哪個節標題

我已經實現了UITextFieldDelegate。當我編輯這些UITextField中的一個時,它調用委託方法textFieldDidEndEditing。如何確定此UITextField所在的區段標題?我需要將該值保存到該部分的相應NSManagedObject中的核心數據。

提前感謝

編輯:有幾個人創建的細胞,這將很好地工作時,使用部分號碼的標籤建議。但是,我已經爲UITextField分配了一個標籤,以將其標識爲「標題」文本字段,而不是單元格文本字段或「頁腳」文本字段。這張桌子上有很多的文本框!

進一步編輯:建議在indexPath中使用。如果我能使它工作,這將是我的首選解決方案。有誰知道如果頁眉和頁腳有indexPaths?

回答

1

你可以使用標籤來識別UITextField實例。既然你已經在UITextField情況下設置的標籤,設置標籤上的部分觀點本身:

- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 
{ 
    UIView *sectionView = ... // your section view instance 

    // assign the section index as the tag 
    sectionView.tag = section; 

    return sectionView; 
} 

在文本框的委託,從發送方的母公司獲得部分指數:

- (void) textFieldDidEndEditing:(UITextField *)textField; 
{ 
    NSInteger theSectionIndex = textField.superview.tag; 
    // your custom logic here 
} 
+0

你是絕對正確的,這將工作。不過,我應該提到,我已經爲它指定了一個標記,以便將它與表格單元格中的其他uitextfields區分開來。 – 2012-03-03 10:08:09

+0

更新了我的回答。在sectionView上設置標籤(假設您沒有使用該標籤)。 – Shiki 2012-03-03 10:34:39

+0

傳說 - 這將完美的工作! – 2012-03-03 12:58:06

0

你可能會想看看UITableView方法indexPathForCell :.

您可以通過UITextField的視圖層次結構獲取單元格,因爲它位於Cell的contentView中。

Regards,

sven。

+0

做頭和頁腳有indexPaths?如果他們這樣做會做到,但我認爲只有細胞有他們。 – 2012-03-03 10:07:28

+0

他們沒有。對不起,我誤解了你提到標題的部分。 – svena 2012-03-06 12:13:51

0

這是非常簡單的本·湯普森先生。你已經命名了不同的UITextFields,我是對嗎?只需使用它的名稱即可找到特定的UITextField。

-(void) textFieldDidEndEditing:(UITextField *)textField 
{ 
    if (textField == textfieldOne) 
    { 
     //Do whatever you want... 
    } 
    else if (textField == textfieldTwo) 
    { 
     //Do whatever you want... 
    } 
    else if (textField == textfieldThree) 
    { 
     //Do whatever you want... 
    } 
} 

我希望它能幫助你一點點。謝謝。

+0

由於單元格是以編程方式在運行時創建的,因此它們都是同一個單元的所有實例,因此具有相同的名稱。否則一個好建議! – 2012-03-03 10:06:12

+0

如果我有超過200? – 2012-03-03 10:07:06

0

我相信你將該字段作爲自定義視圖添加到viewForHeader方法的標題中tableview

我建議使用這樣的部分保留字段的標籤。

textfield.tag == section; 

然後在委託的消息,你可以有一個開關方法來比較tags..and做你自己的代碼中有

+0

我應該提到,我有很多其他的UITextFields在同一頁上都有不同的標籤。我已經爲單元格分配了一個標籤,以確定它是'header'textField。所以我不認爲我可以使用標籤。 – 2012-03-03 10:06:57

+0

編輯您的問題,並添加代碼添加到文本字段的代碼...添加行的整個部分的單元格。也爲標題視圖.. – Shubhank 2012-03-03 10:24:15