iOS手势,触摸事件的传递问题
高洛峰
高洛峰 2017-04-17 17:48:44
[iOS讨论组]

我是希望封装一个控件,它是可以上下滑动的.
可以设置一定的偏移高度,是对顶部高度100的内容自动进行隐藏和显示,假如设置100.
向上滑动时优先隐藏100高度上的内容,向下滑动时优先显示这100高度
就算子内容里面有scrollView,那么滑动scrollView时,无论向上还是向下,都优先满足该控件的顶部操作,然后再scrollView内部内容滑动。

目前我用了ScrollView作为控件的基本使用
可是对于这几个方法的处理尝试了一下,也无法达到我想要的效果

// @property(nonatomic) BOOL delaysContentTouches;   
// @property(nonatomic) BOOL canCancelContentTouches;
// - (BOOL)touchesShouldBegin:(NSSet<UITouch *> *)touches withEvent:(nullable UIEvent *)event inContentView:(UIView *)view;
// - (BOOL)touchesShouldCancelInContentView:(UIView *)view;

比如我的控件内部主要分为2部分,上部分类似于广告,下部分是子界面,子界面高度就跟控件一样高,而且我的控件是不能滑出去的,能滑动的距离也就100高度而已。如果内部有scrollView或者listView的下拉刷新,用户在拉的时候,若广告已经出来了,就能下拉刷新了,若广告没有出来,用户一下是先慢慢出现广告,继续拉的时候才内部的scrollView的下拉才出来

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(1)
天蓬老师

如果我没理解错的话,你的需求应该跟常见的隐藏导航条类似,比如简书 app 看文章的时候上面的那个导航条和作者信息,往上滚的时候隐藏,往下滚就出来。

这个是单独一层的,你想让『向下滑动时优先显示这100高度』就说明它跟滑动的内容不在一层上。它在滑动内容的上一层。

一般是 didScroll 回调事件里处理,判断滚动方向,或者 KVC 监听 scrollView 的 contentOffset 实现的。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号