0

私はユーザーがキーボードを辞めることなくUITextFieldにデータを入力する状況にあります。次のボタンを押すと次のページに進みます。キーボードを使わずに呼び出すUITextFieldデリゲートメソッドはどれですか?

That textfield is in custom cell with UITextView。今すぐ私はすべてのテキストフィールドのすべてをキャプチャしたい& UITextViewは、次のボタンのクリック時に私はデータを保存する必要があるため、ユーザーがそれを入力したとき。

今まで私は、メソッドの下に実施していますが、ユーザーがテキストフィールドにデータを入力し、直接テキストフィールドの前にいるから救うための最良のワット何ができるか、キーボード

- (void)textFieldDidEndEditing:(UITextField *)textField 
{ 

    NSString *strTitle = [textField.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; 
    textField.text = strTitle; 


} 


- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 
{ 

    return YES; 
} 

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField 
{ 
    [textField resignFirstResponder]; 
    return YES; 
} 

を返さずに[次へ]ボタンを押したときに、これらのどれも呼ばれていないばかり次?

+0

を使用するカスタムセルを使用している場合は、あなたがそのセレクタにテキストフィールドからデータを取り出すことができるセレクタを起動します。そうでない場合 - 新しいコントローラ/ページを呼び出すためのコードを書いた場所はどこですか? – samfisher

+0

「次へ」ボタンとは何ですか?キーボードのリターンキーを変更しましたか?それはあなたの中のいくつかのボタンですか?ナビゲーションバーにありますか? – NJones

答えて

0

textFieldDidEndEditingは、フォーカスを失ったときに必ずしも呼び出されるとは限りません。投稿https://stackoverflow.com/a/1229914/641062を参照してください。 endEditingメソッドの動作の詳細について少し説明します。

この方法でデータを保存する必要があります。これはあなたが入力するすべての文字に対して呼び出されます。

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 
{ 

    return YES; 
} 
0

少なくとも1つは間違いなく呼び出されるべきです。

本当に単純なものかもしれません:これらのメソッドを実装しているクラスが、問題のUITextFieldのデリゲートとして実際に割り当てられていることを二重チェックしましたか?

+0

yes.UITextFieldDidEndEditingは、ユーザーがキーボードを返したときに呼び出されますが、ユーザーがキーボードを返して直接次のボタンを押しても、そのテキストフィールドにデータを保存する方法はありますか? – Heena

+0

ああ、私は誤解しました。それは奇妙なことです... textFieldDidEndEditing:フィールドが最初のレスポンダステータスを失ったときに、メカニズムにかかわらず呼び出される必要があります。私はそれを再現しようとする必要があります... –

0

あなただけのユーザーが、次のボタンをタップしたとき、あなたはメソッドが呼び出されますどのデリゲート知っている必要はありません、あなたのテキストフィールドとのTextViewの内容を知りたい場合は、単にIBActionでこれらの値を得ることができます次のボタンの方法

-(IBAction)nextButtonTapped { 
    textFieldData = myTextField.text; 
    textViewData = myTextView.text; 

    //code to push the next view goes here 
} 

これは役に立ちます。

0

あなたは、あなたの「次へ」ボタンであれば、この

[[(CustomCellName *)[tableViewName cellForRowAtIndexPath:indexPathOfRowNo] textFieldName] text]; 
関連する問題