滚动UIScrollView中子视图(按钮),实现 UIScrollView 滚动效果

一般的多层视图中,事件会首先到达最上层的 UIView,该视图可以对事件进行处理,决定是拦截还是继续分发到子试图中。

UIScrollView 也有这样的属性,它的原理是当一个点击事件到来时,会启动一个计时器,当计时器结束期间如果没有手指产生滚动操作,那么点击事件会继续传递给子试图;

否则会产生滚动效果,并且取消消息的继续传递。

UIScrollView 中有两个函数:

// called before touches are delivered to a subview of the scroll view. if it returns NO the touches will not be delivered to the subview

// this has no effect on presses

public func touchesShouldBegin(touches: Set<UITouch>, withEvent event: UIEvent?, inContentView view: UIView) -> Bool

该函数先于子试图的touchesBegin,返回NO 的话点击消息不回传递到子试图,且没有任何点击效果


// called before scrolling begins if touches have already been delivered to a subview of the scroll view. if it returns NO the touches will continue to be delivered to the subview and scrolling will not occur
    //
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值