ios - 向多个动态创建的 View 添加平移手势?

标签 ios objective-c

我想知道最好的方法是什么。我在单击按钮时创建了一个新的 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/

相关文章:

objective-c - NSImageView 与 NSPopover 中的 NSTextField 相交时的动画伪像

ios - subview Controller 中的 UITableView 委托(delegate)

ios - AFNetworking 2.0 和背景图片

ios - Swift:更改 UItextView 中文本的按钮?

ios - 使用 fileNamed 初始化 SKAudioNode 返回 nil

objective-c - 在 iOS 上舍入 NSDate 的正确方法是什么?

ios - 要在 Ipad 上运行 Adob​​e Air 应用程序需要满足哪些要求?

ios - 更改 map 坐标(MapKit)

iphone - 3.0.1 更新后配置 iPhone 时出现问题

objective-c - 当我使用 EGOTableViewPullRefresh 时,表格单元格会重复