1

現時点でDid End On Exitは、アプリで''のメソッドをトリガーします(これが最善の方法ではない可能性があることは承知していますが、Objective CとXcodeは非常に初めてであり、単に実行しています。私にとって快適なもの)。

このメソッドは、firstResponderを現在のテキストフィールドから辞任し、それを後のテキストフィールドに適用します。

私が直面している問題は、キーボードが次のテキストフィールドをカバーしているため、フォーカスがどこにあるのか、したがって何を入力する必要があるのか​​がわからないことです。

キーボードが下にシフトして、現在アクティブなテキストボックスが実際に表示されるようにするにはどうすればよいですか?実装の一部が欠けている場合を除いて、firstResponderで何かを作成しても、私が望むことは実行されません。

これが私の簡単な方法です:

- (IBAction)firstNameNext:(id)sender {
[firstNameTextField resignFirstResponder];
[surnameTextField becomeFirstResponder];
}

どんなアドバイスも素晴らしいでしょう。

4

2 に答える 2

1

メイン ビューに UIScrollView を追加し、すべてのコンテンツをサブビューとして UIScrollView に追加します。

特定の UITextField をビューに表示できるようにする必要がある場合は、次のようにデリゲートを使用します。

注: このように .h ファイルに UITextFieldDelegate を追加します。

@interface yourViewController : UIViewController<UITextFieldDelegate>

ファイルの所有者ともバインドする

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField;
{
   if(textField == yourSpecficTextField) //one u want move upwards
   {
      yourScrollView.contentOffset = CGPointMake(0,200); //required offset
   }
   ... //provide contentOffSet those who needed
   return YES;
}

- (void)textFieldDidEndEditing:(UITextField *)textField
{
   yourScrollView.contentOffset = CGPointMake(0,0); //make UIScrollView as it was before
}
于 2012-08-29T11:49:40.223 に答える
0

仮想キーボードでカバーされるキーボード入力フィールドがある場合は、それらのフィールドを仮想キーボードの下から移動する必要があります。

これを行う通常の方法は、コントローラーのビューを UIScrollView のようなスクロール可能なビューにすることです。キーボードの下にあるコンテンツを移動すると、スクロール ビューを調整し、必要なフィールドが確実に表示されるようにするための非常に堅牢な方法が得られます。

于 2012-08-29T11:52:41.493 に答える