私はiOSプログラミングが初めてで、キーボードによって隠されたUITextFieldを編集するときにUIScrollViewを移動するのに問題があります。コードはApple's documentationからまっすぐですが、何らかの理由で機能しません。キーボードがアクティブなUITextFieldをカバーしているときにUIScrollViewがスクロールしない(appleの例を使用)
私は、通知が正しく渡されているように見える(つまり、「Viewはサイズを変更する必要がありますが、activeFieldがキーボードの下にあるtextFieldである場合のみ)」とスクロールポイントが正しく設定されているスクロールビューはまだ動きません。また、私はコードがドキュメントからまっすぐであると見て(のViewControllerがscrollViewだけでなく、TextFieldのデリゲートである)
- (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);
scrollView.contentInset = contentInsets;
scrollView.scrollIndicatorInsets = contentInsets;
// If active text field is hidden by keyboard, scroll it so it's visible
// Your application might not need or want this behavior.
CGRect aRect = self.view.frame;
aRect.size.height -= kbSize.height;
if (!CGRectContainsPoint(aRect, activeField.frame.origin)) {
CGPoint scrollPoint = CGPointMake(0.0, activeField.frame.origin.y-kbSize.height);
[scrollView setContentOffset:scrollPoint animated:YES];
NSLog(@"%@",@"view should resize");
}
}
委任パターンが正しいことを合理的に確信している、私はおそらく、単純な何かが欠けています。誰かがチェックするものの方向に私を指すことができますか?
FYI:あなたは(「ビューのサイズを変更する必要があり、」@) 'のNSLogに最後の行を変更することができます;' – PengOne
http://stackoverflow.com/a/672003/19679 –
適切な代議員を設定しましたか? – jakenberg