質問

これは操作の順序の問題です

NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];    
[nc addObserver:self 
       selector:@selector(keyboardWillShow:) 
           name:UIKeyboardWillShowNotification 
         object:nil];
[nc addObserver:self 
       selector:@selector(keyboardWillHide:) 
           name:UIKeyboardWillHideNotification 
         object:nil];

そして、uitableviewcellにテキストボックスを追加します:

[textField addTarget:self 
              action:@selector(textFieldBegin:) 
    forControlEvents:UIControlEventEditingDidBegin];

[cell addSubview:textField];

TextFieldBeginでは、編集中のセルに移動するためにScrollTorowatIndexpathをスクロールします。
キーボードウィルショーでは、テーブルビューのフレームを調整してキーボードを可能にします。
TextfieldBegin 呼び出されます キーボードウィルショー, 、したがって、初めて表示されると、スクロールする余地がありません。

この監視を修正するための称賛の方法はありますか?

役に立ちましたか?

解決

現在のスクロール位置は、開始時に変数に保存できます。その後、キーボードウィルショー通知で、その変数に保存されているポジションに再接続できます。

それにより、あなたが彼らが属している場所にあなたの異なるアニメーションを保つことができると思います。

他のヒント

を聞く代わりに UIKeyboardWillShowNotification uitextfielddelegateメソッドに対応できます textFieldDidBeginEditing: その方法でサイズを変更/スクロールします。 キーボードが表示されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top