私はUITableViewCellにボタンを持っています。このボタンは、currentButtonと呼ばれるivarとして保存されています。このボタンをクリックすると、UIPickerViewとUIToolBarを含むUIViewが呼び出され、画面の下部に表示されます。しかし、私は何時間も他の投稿を見てきましたが、このコードはまだ動作しません。セルは時々キーボードの下にスクロールし、UITableViewの下部にあるセルはUIViewのbackgroundPickerViewの上に移動するのに十分なほどスクロールしません。これは私のコードです:UITableViewCellを目に見えるようにスクロールします。
CGPoint center = currentButton.center;
CGPoint rootViewPoint = [currentButton.superview convertPoint:center toView:self.view];
NSIndexPath *indexPath = [measurementTableView indexPathForRowAtPoint:rootViewPoint];
CGRect cellRect = [measurementTableView rectForRowAtIndexPath:indexPath];
if (cellRect.origin.y + cellRect.size.height >= backgroundPickerView.frame.origin.y) {
[measurementTableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionMiddle animated:YES];
CGPoint offset = measurementTableView.contentOffset;
offset.y += ((cellRect.origin.y - cellRect.size.height) - backgroundPickerView.frame.origin.y);
[measurementTableView setContentOffset:offset animated:YES];
}
私はここで間違って何を見ていますか?
self.viewとmeasurementTableViewは同じビューですか? – wj2061
@ wj2061いいえ、self.viewはmeasurementTableViewを保持します –
解決策は見つかりましたか? –