我想知道最好的方法是什么。我在单击按钮时创建了一个新的 ImageView 。此 View 需要附加一个平移手势识别器。
我一直无法让它工作。它必须是动态的,因为用户需要能够创建多个 View 。
到目前为止我的代码:
按钮点击方法:
UIImageView *myView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"testImg.png"]];
myView.frame = CGRectMake(50, 50, 50, 50);
myView.userInteractionEnabled = YES;
[self.view addSubView:myView];
UIGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:myView action:@selector(moveView:)];
[myView addGestureRecognizer:panGesture];
moveView 方法只是改变新 View 的中心位置。
View 创建良好,但当我尝试移动 View 时,我收到“无法识别的选择器发送到实例”错误。
执行此操作的正确方法是什么?
提前致谢
最佳答案
我假设 moveView: 方法是在你的 Controller 中实现的,因为 myView 是 UIImageView 类型。 通过调用
UIGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:myView action:@selector(moveView:)];
您告诉新创建的手势识别器触发 myView 中的 moveView: 方法。
尝试
UIGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(moveView:)];
在自己(你的 Controller ?)而不是在 myView 中调用 moveView: 方法
关于ios - 向多个动态创建的 View 添加平移手势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27107319/