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つのテキストフィールドを切り替えていたにもかかわらずです。
ありがとうございました。