首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Touches开始对scrollView不起作用

Touches开始对scrollView不起作用
EN

Stack Overflow用户
提问于 2014-07-23 05:42:19
回答 1查看 730关注 0票数 1

我有这个命令,当用户点击一个图像时,它会捕获:

代码语言:javascript
复制
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

    UITouch *touch = [touches anyObject];

    CGPoint touchLocation = [touch locationInView:self.view];

    if(CGRectContainsPoint(card1.frame,touchLocation))
    {
        cardSelected = @"pagseguro";
        [card1.layer setBorderColor: [[UIColor redColor] CGColor]];
        [card1.layer setBorderWidth: 1.0];

        [card2.layer setBorderColor: [[UIColor blackColor] CGColor]];
        [card2.layer setBorderWidth: 1.0];

    }
    if(CGRectContainsPoint(card2.frame,touchLocation))
    {
        cardSelected = @"sumup";
        [card1.layer setBorderColor: [[UIColor blackColor] CGColor]];
        [card1.layer setBorderWidth: 1.0];

        [card2.layer setBorderColor: [[UIColor redColor] CGColor]];
        [card2.layer setBorderWidth: 1.0];
    }
}

在我输入scrollView之前,这段代码运行得很好,我按如下方式拉出了屏幕的滚动:

代码语言:javascript
复制
[self.view addSubview:scroll];

    scroll.contentSize = scroll.frame.size;
    scroll.frame = self.view.frame;

现在触摸开始方法无法识别图像中的更多触摸,我如何修复它?

EN

回答 1

Stack Overflow用户

发布于 2014-07-23 05:54:51

尝试imageView.userInteractionEnabled = YESimageView上的默认设置是no。

如果你在你的控制器中实现touchesBegan:withEvent:,它将不会工作,因为它会在UIView的子类中调用,所以你需要子类ScrollView,并且需要覆盖这个方法。

如果userInteractionEnabled无法工作,另一种选择是使用UITapGestureRecognizer,如果它适合您的需要。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24898366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档