2011-06-20 63 views
2

我有一個包含tableview的視圖(我把這個視圖稱爲EquationView,它的控制器是EquationViewController)。表格視圖單元格是具有標籤和文本字段的自定義單元格,可以接受地表示變量及其值。在文本字段中開始編輯時,我已經能夠使我的自定義鍵盤變爲可見狀態。在自定義的uitableview單元格中輸入的自定義鍵盤

但是,我一直無法獲得正確的單元格中的apear擊鍵,做到這一事實,我一直未能弄清楚如何發送帶有正在編輯的文本字段的單元格的indexPath自定義鍵盤控制器類。我在我的自定義鍵盤控制器類中包含了我的EquationViewController.h文件,並且已經能夠通過手動將indexPath設置爲指定行來更改tableview的textField中的文本。下面是鍵盤類定義:

#import <UIKit/UIKit.h> 
#import "EquationViewController.h" 


@interface CustomNumberPadViewController : UIViewController { 
    EquationViewController *equationViewController; 
} 
@property (nonatomic, retain) EquationViewController *equationViewController; 

-(IBAction)buttonPressed:(id)sender; 

@end 

我的操作方法是這樣的(到目前爲止):

-(IBAction)buttonPressed:(id)sender{ 

    VariableCell *cell = (VariableCell *)[equationDetailViewController.myTableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]]; 

    cell.variableValue.text = @"test"; 

} 

這得到了「測試」一詞出現在哪個行我的索引路徑設置。

所以我想知道的是,有沒有辦法將我的自定義鍵盤控制器類中的textField正在編輯的單元格的indexPath傳遞給操作方法?

回答

1

爲什麼不將您的UIViewController設置爲您的UITextFields的委託並捕獲textFieldDidBegin:delegate方法?

+0

你的權利,那就是要走的路。我忘記將代表連接到IB。我最終在我的EquationViewController中聲明瞭一個變量(selectedTextfieldRow)。然後,我根據它們在tableview中的行將標籤分配給每個字段。然後在textFieldDidBegin中,我將標籤號賦給selectedTextfieldRow變量。然後在鍵盤控制器的操作方法中,我檢索selectedTextfieldRow值,並將其用作調用所選單元格的索引路徑的行。它似乎有點圓滿,但它的工作。謝謝你的幫助! – Jbryson

+0

你也可以將你的UITextField直接存儲在你的伊娃裏,而不是使用標籤。如果你需要indexPath,你可以通過它的superviews來查找單元格(例如,如果textField位於UITableViewCell的contentView中,則爲textField.superview.superview),並使用UITableView的'indexPathForCell'來獲取indexPath。但取決於您的需求,取決於您 – AliSoftware