嗨,伙计,我怎样才能只将图像视图中的平移手势事件传递给他的父视图(突出显示)?
问问题
1535 次
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 回答