0

我目前使用左右箭头在图像之间切换,但想添加功能,以便用户可以向方向滑动以更改图像。

设备如何检测左滑动或右滑动并将其用作 IBAction 或类似于按钮触发执行?

有内置方法还是需要从头开始编码?

谢谢

4

2 回答 2

4

如果您的目标是 3.2 或更高版本,则可以使用 UISwipeGestureRecognizer。把它放在你的 UIImageView 子类中:

- (void)viewDidLoad {
    [super viewDidLoad];

   UISwipeGestureRecognizer *recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(rightSwipeHandle:)];
    [recognizer setNumberOfTouchesRequired:1];
    [self addGestureRecognizer:recognizer];
    [recognizer release];
}

- (void)rightSwipeHandle:(UISwipeGestureRecognizer*)gestureRecognizer {
     //do something
}

如果您的目标是 3.2 或更低版本,则需要使用 NSClassFromString & [[UIDevice currentDevice] systemVersion] 来确保当前设备具有所需的类。

于 2010-09-20T16:07:44.513 回答
1

除了 christo 所说的之外,我仍然建议以“3.2 之前”的方式执行此操作,因为您将无法支持尚未更新到 4.0 的 iPhone,因此每 1 代 iPhone 都在那里。

旧方法是在 UIImageView 子类中覆盖 touchesBegan/Moved/Ended。这篇文章是关于 TableViews 但完全相同的代码适用于 UIView 的每个子类,因此您可以在 ImageView 中使用它。

于 2010-09-20T16:59:54.620 回答