美文网首页
iOS面试题--响应链之同时响应

iOS面试题--响应链之同时响应

作者: LV大树 | 来源:发表于2021-05-24 11:47 被阅读0次

响应链,在中级高级开发中应该是个常见问题。而本人常常答非所问,致使每次名落大厂。
下面是个面试题,如何使响应链上的两个相邻的视图同时响应一次触摸。

响应链的传递:从内到外还是从外到内。?我这里是不会回答的,因为我说不清。

但是同时响应,我倒是有个方案。
在最外层的hitTest:withEvent内加上一个BOOL标记。每次触发置反,正则返回self,反则返回nill。返回nil的时候,响应链传递到下一级。

DemoView
{
BOOL bJump;//置反标记
}
...

-(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event{      
        bJump = !bJump;
        if (bJump) {
            return nil;
        }
        return self;//[super hitTest:point withEvent:event]; 
}
...

诸位在适应自己的场景自行修改。上面提供的思路仅供参考。
欢迎留言指正。

我去,我刚发完就要反悔了。

上面完全跑不通。
看来只有一个思路了。block大法。


-(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event{      
        bJump = !bJump;
        if (bJump) {
            return nil;
        }
//在此处插入block
if(yourblock){yourblock();}
        return self;//[super hitTest:point withEvent:event]; 
}

但此处的弊端很明显,不能使用touchBegan 、moved、ended来获取精确的point.

布局代码 Log

可以看出已经同时响起两个View了。
求大神留言吧。

相关文章

  • iOS面试题--响应链之同时响应

    响应链,在中级高级开发中应该是个常见问题。而本人常常答非所问,致使每次名落大厂。下面是个面试题,如何使响应链上的两...

  • iOS 响应链

    iOS开发 - 事件传递响应链iOS 响应者链,事件的传递事件传递之响应链Cocoa Touch事件处理流程--响...

  • iOS中对于响应链的理解

    对于响应链的理解: 在IOS中,有响应者链对事件进行响应,所有的响应类都是UIResponder的子类,响应者链是...

  • 响应链

    iOS事件响应链中Hit-Test View的应用从iOS的事件响应链看TableView为什么不响应touche...

  • iOS响应者链

    iOS响应者链

  • tableView 与collectionView嵌套 coll

    这里就要说到 iOS 的响应链iOS 的所有点击方法 都是用响应链 传递到最底层的 所以可以截取响应链 让coll...

  • 深入浅出iOS事件机制

    深入浅出iOS事件机制事件传递:响应链事件传递响应链

  • 二、事件传递链和响应者链

    iOS触摸事件详解iOS开发-事件传递响应链 响应者链 UIResponser包括了各种Touch message...

  • iOS UI事件传递与响应者链

    iOS UI事件传递与响应者链 响应者链 响应者对象:继承自UIResponder的对象称之为响应者对象。UIAp...

  • ios响应者链

    iOS 响应者链 字数418 阅读41 评论0 喜欢3 响应者链 响应者链是一个响应者的连接序列,事件或者动作消息...

网友评论

      本文标题:iOS面试题--响应链之同时响应

      本文链接:https://www.haomeiwen.com/subject/euhxsltx.html