关于TapGesture、UIResponder 链和 target-action 事件的相互影响的机理和应用

https://github.com/hite/IOSEventTest 这是一个供探索、验证、对比测试而精心设计的demo。 用来研究 UIControl,普通的 View 在 使用 target-action, addTapGestureRecognizer 方式时,不同情况下如何相互作用。 试图解答以下问题; 1. 第一响应者如何确认?(包括 alpha,hidden,clipToBound 属性的影响,都不是本次试验的重点) 2. target-action 和 tapGesture 混用时,如何表现,加入变量 cancelsTouchesInView 时,是否有不同? 3. target-action 或者 tapGesture 是否各自都有多个? 1. 包括相同类型 event state 和 gesture Type 是否有多个? 2. 包括不同类型 event state 和 gesture Type 是否有多个? 4. 相同和不同类型 […]

Read more

WKWebview 加载过程中的性能指标图解

背景 讨论 WKWebview 在加载 h5 页面时,Objective-C里的 WKNavigationDelegate、window.performance.timing、WKUserScriptInjectionTimeAtDocumentStart、WKUserScriptInjectionTimeAtDocumentEnd,以及和前端最常用的document.readystate\domContentLoaded\document.onload 事件等时间维度的关系,为native和前端在相互调用时,能够明确沟通的时机。 图解 普通的200请求,注意先看图例 本次数据采集的页面是 https://mp.weixin.qq.com/s/X_WDv1-vqdXYcg0eLpMAhA, ​ ​ 带有302跳转的页面 ​ ​ 本次数据采集的页面是 https://lq.163.com/platform/wap/entry?merchantCode=M32412338855&before_login=1 请求出错时的序列 本次数据采集的页面是 https://hite.me,出错原因是因为证书不正确。 ​ ​ 对比,结论 1. 首先注意几个等价事件。 didStartProvisionalNavigation = navigationStart didCommitNavigation = domLoading  =  WKUserScriptInjectionTimeAtDocumentStart,此时刚刚开始创建 DOM WKUserScriptInjectionTimeAtDocumentEnd = domContentLoade = document.readystate = interactive,此时 CSSOM 和 DOM 都已经构建完毕,等待图片资源等下载 didFinishNavigation = domComplete = […]

Read more