我正在使用向左和向右滑动“下一张图片”和“上一张图片”。在启动应用程序时,我想禁用右键滑动(上一个),直到至少左键滑动 - 有没有明显的方法可以做到这一点?
答案 0 :(得分:0)
您可以创建一个简单的方法来处理来自所有UISwipeGestureRecognizer实例的滑动。此方法将自动启用/禁用手势识别器。
考虑到你有两个识别器,即
UISwipeGestureRecognizer *swipeRight;
UISwipeGestureRecognizer *swipeLeft;
要显示的图像数组
NSArray *arrImages;
您还需要维护全球ivar
NSInteger currIndex; //To maintain the index
两者都应该与选择器具有相同的方法,如下所示:
-(void)handleSwipeFrom:(UISwipeGestureRecognizer*)recognizer
{
NSInteger newIndex = currIndex;
if ([recognizer isEqual: swipeLeft])
{
newIndex ++;
}
else if ([recognizer isEqual: swipeRight])
{
newIndex --;
}
if (newIndex >= 0 && newIndex <= ([arrImages count] - 1))
[self showImageAtIndex:newIndex];
}
showImageAtIndex:方法可以按如下方式处理其余部分:
-(void) showImageAtIndex: (NSInteger)index
{
if (index == 0)
{
[swipeRight setEnabled:NO];
}
else
{
[swipeRight setEnabled:YES];
}
if (index == ([arrImages count] - 1))
{
[swipeLeft setEnabled:NO];
}
else
{
[swipeLeft setEnabled:YES];
}
currIndex = index;
//Show image at currIndex here
}
为了使其完美运行,您需要实例化currIndex并在viewDidLoad中调用showImageAtIndex:
currIndex = 0;
[self showImageAtIndex: currIndex];