• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

iphone - 以编程方式检测 ScrollView 外的触摸

[复制链接]
菜鸟教程小白 发表于 2022-12-12 15:25:32 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在尝试创建一个可水平滚动的 UIScrollView。 I am using this Ray Wenderlich tutorial .我有 ScrollView 出现并且工作正常,但目前在教程的“检测 ScrollView 之外的触摸”部分遇到了困难。

问题是我正在以编程方式创建所有内容。我对这部分教程代码(在 ScrollViewContainer.m 中)感到特别困惑:

- (UIView*)hitTestCGPoint)point withEventUIEvent*)event {
    UIView *view = [super hitTest:point withEvent:event];
    if (view == self) {
        return _scrollView;
        }
    return view;
}

其中 _scrollView 是一个 IBOutlet(在 ScrollViewContainer.h 中):

@property (nonatomic, strong) IBOutlet UIScrollView *scrollView;

据我了解,_scrollView“连接”是通过 socket 在 Storyboard 上完成的。我应该如何以编程方式做到这一点?



Best Answer-推荐答案


通过使用此代码,我找到了我的触摸对象并隐藏了 View ,因此希望您可以通过一些技巧和修改相同的代码来修复它,只需传递您的 ScrollView 对象并在其中记录它是否被触摸。

#pragma mark
#pragma mark - Touch Events
-(void)touchesBeganNSSet *)touches withEventUIEvent *)event
{
    UITouch *touch = [[event allTouches] anyObject];
    CGPoint imgPop = [touch locationInView: _scrollView];
    if ([_scrollView pointInside:imgPop withEvent:event])
    {
        NSLog(@"Touch Inside ScrollView");
    } else {
        NSLog(@"Touch Outside ScrollView");
    }
}

如果您发现实现它有任何困难,请告诉我。

关于iphone - 以编程方式检测 ScrollView 外的触摸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19286583/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap