現在、私はカスタムセルを持つUITableViewを持っており、各セルにはUITextFieldがありますが、UITextFieldがUIKeyboardで覆われることがあるという問題があります。カスタムUITableViewCellをキーボードのすぐ上にスクロールしますか?
今私はUIKeyboardのY座標があり、私のUITableViewはセルで正しく機能しています。
私はそのY座標(浮動小数点数)を使用して、そのU座標をそのY座標に加えてセルの高さをスクロールして、UIスキンボードの直上で取得することができますか?
キーボードを隠すと、UITableViewを元の位置にリセットする方法はありますか?
アドバイスをいただければ幸いです!
ありがとうございます!
CustomCell *cell = (CustomCell*)[[thetextField superview] superview];
CGRect cellRect = [cell convertRect:cell.frame toView:self.view];
float bottomCell = cellRect.origin.y - cellRect.size.height;
if (bottomCell >= keyboardY) {
NSIndexPath *indexPath = [thetableView indexPathForCell:cell];
[thetableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop animated:YES];
}
'scrollToRowAtIndexPath'メソッドはtableViewの可視部分を知っているので、if文は必要ありません。 – inorganik