我知道如何通过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进行此操作可以正常工作,我可以拍摄这张照片。
我不明白是什么导致它不像现在编码那样移动。
感谢任何帮助。
我也尝试过 - (void)而不是 - (IBAction)在我的handlePan中但是也没用。
答案 0 :(得分:6)
这在IB中有效但在代码中无效的事实表明错误在第一个代码块中。我怀疑blue1
是nil
。确保在viewDidLoad
之前不要尝试修改视图。它们都在nil
和initWithFrame:
中awakeFromNib
。
答案 1 :(得分:0)
override func viewDidLoad() {
let tap = UITapGestureRecognizer(target: self, action: #selector(imageTapped(_:)))
myImage.isUserInteractionEnabled = true
myImage.addGestureRecognizer(tap)
}
@objc func imageTapped(_ sender: UITapGestureRecognizer) {
print(#function)
}