我知道如何通过IB添加手势识别器,但是我想通过使用IB来解决它。

所以基本上现在有的是

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

[blue1 addGestureRecognizer:pgr];
[pgr release];

而我的handPan是
-(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];

}

如果我通过IB进行拍摄,并且可以将其拍摄成影片,则效果会很好。

我不明白是什么原因导致它无法像现在编码那样移动。

任何帮助表示赞赏。

我在handlePan中也尝试了-(void)而不是-(IBAction),但这也不起作用。

最佳答案

这在IB中有效,但在代码中无效,这一事实表明该错误出在代码的第一块中。我怀疑blue1nil。确保您不要尝试在viewDidLoad之前修改 View 。它们都将是nilinitWithFrame:中的awakeFromNib

关于iphone - 以编程方式添加peerrecongnizer,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9352224/

10-09 01:48