1

サブビューとして次のようなものをUIScrollview含む and があります。UIView

uiviewを使用したスクロールビュー

UIViewここで の内側をドラッグできますScrollView。uiview がEND RIGHTまたはEND LEFTに移動すると、スクロールビュー内で uiview が消えます。その後、スクロールビューをスクロールする必要があります。その後、uiview を表示できます。ここで、スクロールSCROLLVIEWする必要があります。 uiview が右側または左側に来ると、そのためにこのコードを使用しましたが、機能しませんでした。

[myscrollview scrollRectToVisible:myview.frame animated:YES];
4

1 に答える 1

1

ここで私はUIButtonを使用しました(これは私のアプリケーションの1つですでに使用されているため、コード全体を再度記述する必要はありません)

[cropRectangleButton addTarget:self action:@selector(imageMoved:withEvent:) forControlEvents:UIControlEventTouchDragInside];

これcropRectangleButtonは1つのUIButtonであり、imageMoved:withEvent:メソッドは次のとおりです。

- (IBAction) imageMoved:(id)sender withEvent:(UIEvent *)event
{
    CGPoint point = [[[event allTouches] anyObject] locationInView:self.view];

    CGPoint prev = lastTouchDownPoint;
    lastTouchDownPoint = point;
    CGFloat diffX = point.x - prev.x;
    CGFloat diffY = point.y - prev.y;

    UIControl *button = sender;
    CGRect newFrame = button.frame;
    newFrame.origin.x += diffX;
    newFrame.origin.y += diffY;
    scrollView.contentSize = CGSizeMake(2*scrollView.frame.size.width, scrollView.frame.size.height);
    [scrollView scrollRectToVisible:newFrame animated:YES];
    button.frame = newFrame;
}

ここでは、scrollViewがスクロールしているかどうかをテストするのが非常に狭いため、scrollViewのcontentSizeを変更します。そのコード行は必要ありません。

また、ボタンを左にドラッグすると、scrollViewも自動的にボタンフレームにスクロールされ、ボタン全体が表示されます。UIViewを使用してこれを実装してみてください。不可能な場合は、ビューに1つの透明なUIButtonを配置して、ビューを完全にカバーします。引っ張る :)

于 2012-11-16T12:34:13.120 に答える