私は自分のimageView(以下のコードではmaskPreview)に動きのある機能を作成しようとしているので、ユーザーはmaskPreviewに含まれている画像を画面上で動かすことができます。タッチの開始とタッチの移動に関するコードは次のとおりです。TouchでUIImageViewを移動する方法
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
if ([touches count]==1) {
UITouch *touch= [touches anyObject];
originalOrigin = [touch locationInView:maskPreview];
}
}
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
if ([touches count]==1) {
UITouch *touch = [touches anyObject];
CGPoint lastTouch = [touch previousLocationInView:self.view];
CGFloat movedDistanceX = originalOrigin.x-lastTouch.x;
CGFloat movedDistanceY = originalOrigin.y-lastTouch.y;
[maskPreview setFrame:CGRectMake(maskPreview.frame.origin.x+movedDistanceX, maskPreview.frame.origin.y + movedDistanceY, maskPreview.frame.size.width, maskPreview.frame.size.height)];
}
}
しかし、私はアプリからいくつかの奇妙な応答を得ています。画像ビューの移動距離、つまり画面外への移動を制限することはしていませんが、小さな動きであっても画像ビューが荒くなり消えてしまいます。たくさんようにtouchesBegan
とを実装するすべてのヘルプ
驚くばかりのマット、あなたは絶対的な天才です!あなたの答えを評価したでしょうか?私は十分な評判を持っていません!私の人生はとても楽になりました!! – Septronic
ちょうどFYI、そのコードは私の本のまっすぐ来た:http://shop.oreilly.com/product/0636920023562.do - それはどこから来た多くの... – matt
素晴らしい、私はそれを見て:)感謝 – Septronic