Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 向iCarousel项目添加自定义手势_Ios_Objective C_Icarousel - Fatal编程技术网

Ios 向iCarousel项目添加自定义手势

Ios 向iCarousel项目添加自定义手势,ios,objective-c,icarousel,Ios,Objective C,Icarousel,您好我使用Xcode已经有一段时间了,现在已经多次使用了UIgestureRecognitors。现在我正在开发一个iPad应用程序,它需要一个旋转木马,所以有什么比使用iCarousel更好呢,因为我已经遇到了它,我认为它很棒 我在向旋转木马项目添加uisweegestureerecognizer时遇到一些问题(我将使用它删除“刷卡”项目)。看起来很简单,但看起来好像uigestureRecognitizer不在那里,但如果打印视图.recognizer,我可以看到它实际上在那里。我错过了什么

您好
我使用Xcode已经有一段时间了,现在已经多次使用了
UIgestureRecognitors
。现在我正在开发一个iPad应用程序,它需要一个旋转木马,所以有什么比使用iCarousel更好呢,因为我已经遇到了它,我认为它很棒
我在向旋转木马项目添加
uisweegestureerecognizer
时遇到一些问题(我将使用它删除“刷卡”项目)。看起来很简单,但看起来好像
uigestureRecognitizer
不在那里,但如果打印视图.recognizer,我可以看到它实际上在那里。我错过了什么? 对不起,有语言错误

代码


有人知道我做错了什么吗? 这里还有一个指向iCarousel文档的链接:


提前谢谢

默认情况下,一次只能激活一个手势,旋转木马在内部使用一个手势进行滚动。因此,如果你想使用其他手势,你需要在你的手势和旋转木马手势中添加一个代表,这样你就可以使它们正常工作。

感谢Wain提供的快速答案和参考链接,我也找到了这个答案,一直都是这样。是的,这基本上是相同的信息。对你来说唯一特别的是在旋转木马里找到手势。这就是我想要的。非常感谢你。我的场景:我的旋转木马包含我的主视图,在其中一个视图中我有内部旋转木马,当我滚动到最后一个项目时,我需要能够将第一个主视图滚动到第二个主视图。但是,当我返回到上一个主视图并再次将内部旋转木马视图向右滚动时,我将使用此手势识别器将Scrollable设置为YES,以检测我是否向右滑动。
- (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(UIView *)view
{
    UILabel *nameLabel = nil;
    UILabel *notesLabel = nil;
    UIImageView *icon1 = nil;
    UIImageView *icon2 = nil;

    Notebook *referenceNotebook = [_notebookArray objectAtIndex:index];

    //create new view if no view is available for recycling
    if (view == nil)
    {
        view = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 250.0f, 373.0f)];
        ((UIImageView *)view).image = [UIImage imageNamed:@"notebookBase"];
        view.contentMode = UIViewContentModeCenter;

        CGPoint startingPoint = view.frame.origin;
        CGSize startingSize = view.frame.size;

        nameLabel = [[UILabel alloc] initWithFrame:CGRectMake(startingPoint.x, startingPoint.y + 60, startingSize.width, 100)];
        nameLabel.backgroundColor = [UIColor clearColor];
        nameLabel.textAlignment = NSTextAlignmentCenter;
        nameLabel.font = [FontController useFontKlinic_Light:50];
        nameLabel.tag = 1;
        [view addSubview:nameLabel];

        notesLabel = [[UILabel alloc]initWithFrame:CGRectMake(startingPoint.x, startingPoint.y + 95, startingSize.width, 100)];
        notesLabel.backgroundColor = [UIColor clearColor];
        notesLabel.textAlignment = NSTextAlignmentCenter;
        notesLabel.font = [FontController useFontKlinic_Light:30];
        [view addSubview:notesLabel];

        icon1 = [[UIImageView alloc] initWithFrame:CGRectMake(startingPoint.x + 105, startingPoint.y + 18, 40, 40)];
        icon1.image = [UIImage imageNamed:@"notebookIcon1"];
        [view addSubview:icon1];

        icon2 = [[UIImageView alloc] initWithFrame:CGRectMake(startingPoint.x + 105, startingPoint.y + 320, 40, 40)];
        icon2.image = [UIImage imageNamed:@"notebookIcon1"];
        [view addSubview:icon2];

        //UIView *swipeView = [[UIView alloc] initWithFrame:CGRectMake(startingPoint.x, startingPoint.y, startingSize.width, startingSize.height)];
        //swipeView.backgroundColor = [UIColor clearColor];

        //UISwipeGestureRecognizer *swipeRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(carouselSwipewipeHandler:)];
        //[swipeRecognizer setDirection:(UISwipeGestureRecognizerDirectionUp)];
       // [swipeView addGestureRecognizer:swipeRecognizer];

        //[view addSubview:swipeView];
    }
    else
    {
        //get a reference to the label in the recycled view
        nameLabel = (UILabel *)[view viewWithTag:1];
    }

    nameLabel.text = referenceNotebook.name;
    notesLabel.text = @"n note";

    UISwipeGestureRecognizer *swipeRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(carouselSwipewipeHandler:)];
    [swipeRecognizer setDirection:(UISwipeGestureRecognizerDirectionUp)];
    [view addGestureRecognizer:swipeRecognizer];

    view.tag = index;
    NSLog(@"gesture recogs: %@", view.gestureRecognizers);
    return view;
}