以编程方式添加gesturerecongnizer

7 iphone xcode objective-c ios

我知道如何通过IB添加手势识别器,但我试图用IB来解决它.

所以基本上现在的是

blue1.userInteractionEnabled = YES;
UIPanGestureRecognizer *pgr = [[UIPanGestureRecognizer alloc] 
                               initWithTarget:self action:@selector(handlePan:)];

[blue1 addGestureRecognizer:pgr];
[pgr release];
Run Code Online (Sandbox Code Playgroud)

我的把手是

-(IBAction)handlePan:(UIPanGestureRecognizer *)recognizer {

    CGPoint translation = [recognizer translationInView:self.view];

    recognizer.view.center = CGPointMake(recognizer.view.center.x + translation.x, recognizer.view.center.y + translation.y);

    [recognizer setTranslation:CGPointMake(0, 0) inView:self.view];

}
Run Code Online (Sandbox Code Playgroud)

如果我在IB上做这件事,我的工作就可以了.我可以拍摄这张照片.

我不明白是什么导致它不像现在编码那样移动.

任何帮助表示赞赏.

我也尝试过 - (void)而不是 - (IBAction)在我的handlePan中,但是也没有用.

Rob*_*ier 6

事实上,这在IB中有效,但在代码中无效,这表明错误出现在第一个代码块中.我怀疑将是blue1nil.确保您之前不尝试修改视图viewDidLoad.他们都将nilinitWithFrame:awakeFromNib.