固定行数 (7) の tableView があります。各行は、ラベル + textField で構成されます。
テキストファイルに触れると、仮想キーボードが表示され、ポップオーバーのサイズが変更され、新しいサイズで 7 行のうち 4 行だけが表示されます。私がやりたいことは、ユーザーが新しいテキストフィールドに触れるたびに、テーブルビューがそれを含むセルにスクロールすることです。
私はもう試した
- (void)textFieldDidBeginEditing:(UITextField *)textField{
CGPoint point = [textField.superview convertPoint:textField.frame.origin toView:self.tableView];
NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:point];
NSLog(@"Row %d section %d", indexPath.row, indexPath.section);
[tableView reloadData];
[tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionBottom animated:NO];
}
そしてまた
- (void)textFieldDidBeginEditing:(UITextField *)textField{
CGPoint point = [textField.superview convertPoint:textField.frame.origin toView:self.tableView];
CGPoint contentOffset = tableView.contentOffset;
contentOffset.y += (point.y - self.navigationController.navigationBar.frame.size.height); // Adjust this value as you need
[tableView setContentOffset:contentOffset animated:YES];
}
しかし、どれも機能しません。メソッドが呼び出されています (デリゲートを設定しています)。仮想キーボードによるサイズ変更が原因で機能しないことは確かですが、誰がそれを解決できたのかわかりません。
何か助けはありますか?どうもありがとう