私のストーリーボードでは、ユーザのログインをフォームで表示するために、メインビュー - >スクロールビュー - >コンテンツビュー - > 2つのテキストフィールドとログインボタンがあります。ビューの下部に1つの登録ボタンがあります。私はオートレイアウトを使用し、ボトムボタンにはボトムスペースの制約があります。テキストフィールドをタップしてキーボードが表示されたら、表示矩形にサイズを変更するためにスクロールしたいが、コンテンツサイズは登録ボタンまでスクロールする必要がありますが、スクロールビューのサイズが変わるとボタンが上がります。私は何をしたいのですか?iOS AutoLayout with scrollviewとキーボード
キーボードが表示されたとき、私はこのコードを使用:
- (void)keyboardWillShow:(NSNotification *)aNotification
{
NSDictionary *info = [aNotification userInfo];
NSValue *kbFrame = [info objectForKey:UIKeyboardFrameEndUserInfoKey];
NSTimeInterval animationDuration = [[info objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue];
CGRect keyboardFrame = [kbFrame CGRectValue];
CGSize s = self.scrollView.contentSize;
CGFloat height = keyboardFrame.size.height;
self.scrollViewBottomLayoutConstraint.constant = height;
[UIView animateWithDuration:animationDuration animations:^{
[self.view layoutIfNeeded];
[self.scrollView setContentSize:s];
}];
}
ありがとうございます。できます。 –
偉大な答え;私にとって素晴らしい作品です!ありがとう! –
素敵でシンプルですが、スクロールバーはスクロール/テーブル/コレクションビューの表示部分にサイズ変更されません。 –