UITableView
をドラッグできるようにUIPanGestureRecognizer
を使用しています。私は現在UITableView
を0
またはその半分の幅までドラッグできないように設定しました。しかし、今度はフレームが0に設定され、UITableView
が0より大きい原点から0に戻されます。これを防ぐにはどうすればUITableView
を0に戻すことができますか?私は次のことを試しましたが、なぜこのアウトラインコードが原因であるのかはわかりません。UITableViewをドラッグする
- (void) handlePan:(UIPanGestureRecognizer *) pan {
CGPoint point = [pan translationInView:_tableView];
CGRect frame = [_tableView frame];
if (point.x <= _tableView.frame.size.width/2) {
frame.origin.x = point.x;
}
NSLog(@"%f : %f", frame.origin.x, _tableView.frame.origin.x);
//outline begin!
if (frame.origin.x < 0 && _tableView.frame.origin.x >= 0) {
frame.origin.x = 0;
}
//outline end!
isFilterViewShowing = frame.origin.x > 0;
[_tableView setFrame:frame];
}
これは実際には役に立ちませんでしたが、私はsuperViewを使用しようとしましたが、触れられませんでした。私のコードがうまくいかない理由を察知できますか? –
あなたのsuperViewでtouchを求めないで、 'pan'がスーパービューの座標系で翻訳CGPointを返します。 –
例を挙げていただけますか? –