1

1つのケースを除いて、私にとってはすべて問題ありません。テキストフィールドの編集を開始すると、キーボードが表示されました。メソッドが呼び出されていますが、次のテキストフィールドを編集する場合、最初のメソッドを辞任しないと、このメソッドは呼び出されません。

- (void)registerForKeyboardNotifications
{
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(keyboardWasShown:)
                                                 name:UIKeyboardDidShowNotification object:nil];

    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(keyboardWillBeHidden:)
                                                 name:UIKeyboardWillHideNotification   object:nil];

}


     -(void)keyboardWasShown:(NSNotification*)aNotification
      {
      NSDictionary* info = [aNotification userInfo];
      CGSize kbSize = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;

      UIEdgeInsets contentInsets = UIEdgeInsetsMake(0.0, 0.0, kbSize.height, 0.0);
      testScroll.contentInset = contentInsets;
     testScroll.scrollIndicatorInsets = contentInsets;
       CGRect aRect = self.view.bounds;

      CGPoint activepoint= [active.superview convertPoint:active.frame.origin toView:nil];
    if (!CGRectContainsPoint(aRect, activepoint) ) {
        CGPoint scrollPoint = CGPointMake(0.0, active.frame.origin.y+active.frame.size.height-kbSize.height+100);// here active is my particular textfields and i an changing it in begin editing method.
        [testScroll setContentOffset:scrollPoint animated:YES];
    }

ここで私の問題は、スクロールビューが特定のオフセットに設定する必要がある2つのテキストフィールドを切り替えていたにもかかわらずです。

ありがとうございました。

4

0 に答える 0