1

在此处输入图像描述

嗨,伙计,我怎样才能只将图像视图中的平移手势事件传递给他的父视图(突出显示)?

4

1 回答 1

1

您可以使用如下代码。它假设您已经在故事板中设置:一个带有视图的视图控制器,并且在一个已附加平移手势识别器的子视图中,并且两者IBOutlets都已IBAction正确连接,并且视图控制器delegate是手势识别器。
这个想法是当您第一次触摸它时存储子视图的中心。当您平移子视图时,手势识别器会为您提供从该位置移动的量。试试看。

#import "ViewController.h"

@interface ViewController (){
    CGPoint subViewCenter;
}

@property (weak) IBOutlet UIView * subView;
@property (weak) IBOutlet UIPanGestureRecognizer *myPanGestureRecognizer;

@end

@implementation ViewController

@synthesize subView;
@synthesize myPanGestureRecognizer;

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
    subViewCenter = self.subView.center;
}

- (IBAction)panAction:(UIPanGestureRecognizer *)sender {
    CGPoint move = [sender translationInView:self.view];
    CGPoint newCenter = subViewCenter;
    newCenter.x += move.x; newCenter.y += move.y;
    subView.center = newCenter;
}

@end
于 2013-05-27T10:32:55.360 回答