【发布时间】:2012-02-19 19:04:40
【问题描述】:
我知道如何通过 IB 添加手势识别器,但我试图在不使用 IB 的情况下解决这个问题。
所以现在基本上是
blue1.userInteractionEnabled = YES;
UIPanGestureRecognizer *pgr = [[UIPanGestureRecognizer alloc]
initWithTarget:self action:@selector(handlePan:)];
[blue1 addGestureRecognizer:pgr];
[pgr release];
我的handlePan是
-(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) ,但这也没有用。
【问题讨论】:
-
您的第一个代码段在哪里?是在某处的
init方法中吗? -
第一个代码段位于从 viewdidload 调用的方法中。这是我想在视图加载后立即运行的方法。
-
你为什么写
[pgr release];?您是否在此示例中没有使用 ARC,还是在创建和添加手势识别器时需要使用 ARC?
标签: iphone objective-c ios xcode