使用滑动设置UIImageView

时间:2010-09-20 15:40:48

标签: iphone uiimageview uitouch

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

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

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

由于

2 个答案:

答案 0 :(得分: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]确保当前设备具有所需的类。

答案 1 :(得分:1)

除了christo所说的,我仍然建议在“3.2之前”这样做 - 因为你将无法支持尚未更新到4.0的iPhone,所以因此每一款iPhone在那里。

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