首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

touchesBegan在UIScrollView Swift 5中不起作用

touchesBegan是iOS开发中的一个方法,用于处理触摸事件的开始阶段。在UIScrollView中,touchesBegan方法通常用于处理滚动视图的触摸事件,例如检测用户开始触摸滚动视图时的操作。

在Swift 5中,touchesBegan方法在UIScrollView中可能不起作用的原因有以下几种可能性:

  1. UIScrollView的isUserInteractionEnabled属性被设置为false:如果UIScrollView的isUserInteractionEnabled属性被设置为false,那么它将无法接收触摸事件,包括touchesBegan方法。确保该属性被设置为true,以确保UIScrollView能够接收触摸事件。
  2. UIScrollView的delaysContentTouches属性被设置为true:如果UIScrollView的delaysContentTouches属性被设置为true,那么UIScrollView会延迟触发touchesBegan方法,直到确定用户不是在进行滚动操作。这可能导致touchesBegan方法不立即起作用。可以尝试将delaysContentTouches属性设置为false,以确保touchesBegan方法能够立即响应触摸事件。
  3. UIScrollView的子视图拦截了触摸事件:如果UIScrollView的子视图拦截了触摸事件,那么touchesBegan方法可能不会被调用。可以检查UIScrollView的子视图层级,确保没有其他视图拦截了触摸事件。

综上所述,如果在UIScrollView中的touchesBegan方法不起作用,可以检查UIScrollView的isUserInteractionEnabled属性、delaysContentTouches属性以及子视图是否拦截了触摸事件。确保这些设置正确,并且没有其他因素影响了touchesBegan方法的调用。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云移动开发平台:https://cloud.tencent.com/product/mpp
  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云云原生应用引擎(TKE):https://cloud.tencent.com/product/tke
  • 腾讯云数据库(TencentDB):https://cloud.tencent.com/product/cdb
  • 腾讯云音视频处理(VOD):https://cloud.tencent.com/product/vod
  • 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai
  • 腾讯云物联网平台(IoT):https://cloud.tencent.com/product/iotexplorer
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云区块链服务(BCS):https://cloud.tencent.com/product/bcs
  • 腾讯云元宇宙(Metaverse):https://cloud.tencent.com/product/metaverse
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS 中的事件响应

响应链-方法调用 ParentView是TapTestView的父 View,TapTestView没有重写touchesBegan 方法,ParentView的touchesBegan 方法中打上断点...比如 beginTracking 是 touchesBegan 方法内部调用的。 通过下述方法参数,我们可以注意到:UIControl 处理的不是 touch 数组而是单个 touch。...当用户 UIScrollView 的一个子视图上按下时,UIScrollView并不知道用户是想要滑动内容视图还是点击对应子视图,所以在按下的一瞬间, 事件 UIEvent 从 UIApplication...open var canCancelContentTouches: Bool // UIScrollView的子类中重写该方法,用于返回是否将事件传递给对应的子视图,默认返回YES,如果返回NO,该事件不会传递给对应的子视图..., in view: UIView) -> Bool // UIScrollView的子类中重写该方法,用于返回是否取消已经传递给子视图的事件,默认当子视图是UIControl时返回NO,否则返回YES

2.6K11

iOS 面向协议方式封装空白页功能

Swift除了可以面向对象编程,它还可以面向协议编程。那可不可以也用协议来解决情况呢?...嘿嘿,这个可以有,那我们接下来就来试试怎么通过协议的方式来避免上述情况,并且实现一行代码添加空白页功能 前言 如果对面向协议有疑问的同学可以看下我之前的两篇文章 iOS - Swift 面向协议编程...(一) iOS - Swift 面向协议编程(二) 之前的文章中提到了,协议除了起规范作用,还有别一个用处,就是赋予能力。...我们现在的目的就是让目标控制器或者目标视图遵守我们的协议后,就可以有实现空白页的功能。...,非常地恰巧,我们定义的方法lxf_EmptyDataSet需要外界将UIScrollView传递进来,DZNEmptyDataSet的数据源方法和代理方法也有scrollView。

1.4K50

iOS性能优化之启动优化

方法出现死递归 touchesBegan方法中设置断点,运行项目,查看汇编代码 方法中被插入三次__sanitizer_cov_trace_pc_guard函数的调用 这就是循环引发的大坑,SanitizerCoverage...回调函数中存入队列的还是touchesBegan的函数地址,这会导致队列中永远存在一个到两个touchesBegan,next永远获取不完 解决办法: Build Setting→Other C Flags...→Write Link Map File,设置为YES\ 编译项目,打开LinkMap文件\ 配置生效,二进制重排成功\ 5.6.5 swift的函数符号 Other C Flags中的配置,仅对...而Swift使用swiftc编译器,要想获得swift函数符号,需要对Other Swift Flags进行配置\ 和Clang的配置参数略有出入\ 添加-sanitize-coverage=func...混编,成功得到Swift函数符号

1.7K11

MyLayout&TangramKit 的重大升级!

MyLayout和TangramKit是一套基于frame之上的UI界面布局库的OC版本和Swift版本。目前最新版本升级为MyLayout1.7.0和TangramKit1.4.0。 ?...Swift1.4.0: https://github.com/youngsoft/TangramKit 这次升级的主要目的是为了和AutoLayout结合的更加紧密。...2.UIScrollView的滚动 对于UIScrollView来说需要设置contentSize来实现滚动的能力。...设置约束依赖时将容器视图的上下左右分别依赖UIScrollView视图的上下左右边界,如果需要上下滚动则将容器视图中的最底部子视图的底部边界依赖容器视图的底部边界。...然后UITableViewCell的派生类的视图代码布局处或者-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath

2K20

iOS_NestedScrollView(嵌套ScrollView)

这时候两个scrollView都会滑动,我们可以滑动回调里,根据当前的情况进行处理,实现想要的滑动规则了。----滑动规则制定Tips:规则一定要提前确认好。...undefinedMOMultiTabContainerViewController内部是一个scrollView,添加多个subScrollView,结构如下:(详情可见MOMultiTabContainerViewController.swift...height: containerHeight - headerHeight)}----5、传递滑动回调将所有滑动回调都交由MOSubScrollExecutor处理:(把嵌套滑动规则集中一个文件里...---6.5、处理subScrollView下拉:/// 下拉: list 先拉到顶,再放大 headerViewfunc handlePullDown(_ scrollView: UIScrollView...的contentOffset的精确度问题,所以计算或判等时需要注意了。

81730
领券