当前位置: 首页 > wzjs >正文

建设官方网站的作用网站建设200

建设官方网站的作用,网站建设200,装潢设计用什么软件,做网站点击赚取广告费Hittest 机制原理 hitTest的原理就是,当我们点击的时候,会触发 window的 hittest方法,在该方法中会首先使用point inside方法判断 点击的地方是否在window范围内,如果在的话,就倒序遍历姿子视图,然后将poi…

Hittest 机制原理

hitTest的原理就是,当我们点击的时候,会触发 window的
hittest方法,在该方法中会首先使用point inside方法判断
点击的地方是否在window范围内,如果在的话,就倒序遍历姿子视图,然后将point转换为相对于子视图的point,然后在子视图再执行hittest,里面执行同样的流程。如果不在window范围内的话,就返回一个nil
这里写下实现逻辑

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event{if (self.hidden == NO || self.alpha < 0.05 || self.userInteractionEnabled == NO) {//1.当满足这几个条件时,直接丢弃touch事件,不再向下分发。return nil;}else{if (![self pointInside:point withEvent:event]) {//2.如果点击point在视图之外,丢弃return nil;}else{//3.分发给子视图if (self.subviews.count > 0) {for (UIView *subView in self.subviews) {UIView *hitTestSubView = [subView hitTest:point withEvent:event];return hitTestSubView;}}else{return self;}}}
}

实际应用

扩大点击范围

重写 hitTest 方法,通过UIEdgeInsetsInsetRect 方法生成一个新的frame,然后判断point是否在rect里面

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{CGRect rect = UIEdgeInsetsInsetRect(self.bounds, self.expandEdgeInset);if (CGRectContainsPoint(rect, point)) {return self;}return [super hitTest:point withEvent:event];
}

子视图超出父视图可点击

重写 hitTest 方法 在里面不执行 point inside方法(系统默认是要执行的,因为要判断点击的点是否在自己范围内)

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{CGPoint pointInSubbutton = [self convertPoint:point toView:self.subButton];if ([self.subButton hitTest:pointInSubbutton withEvent:event]) {return [self.subButton hitTest:pointInSubbutton withEvent:event];}return [super hitTest:point withEvent:event];
}

其实从上面的逻辑来看,不管我们是扩大点击范围,还是子视图超出范围可以点击,
都是去掉了系统hitest方法中的point inside 方法

http://www.dtcms.com/wzjs/551003.html

相关文章:

  • 网站建设推荐北京华网天下无限免费视频直播
  • 菜市场做建筑设计图库的网站设计乡镇网站建设中的问题
  • 哈尔滨做网站公司有哪些页面跳转不了怎么回事
  • wordpress安装ssl后网站404自己电脑做网站主机
  • 仿牛商网营销型网站网站建设人文环境
  • 手机网站成功案例嵌入式软件开发面试问题
  • c 做网站源码实例wordpress底部美化
  • 企业网站的重要性沧州网络公司科技
  • 传销教你做网站dedecms网站制作教程
  • 网站开发需要掌握技术泰安工程建设信息网站
  • 加强网站备案管理自媒体视频剪辑培训班
  • 鞍山建设集团网站网络营销比较好的企业
  • dw静态个人简历网站模板下载chinacd wordpress
  • 做国外商品的网站应用商城软件下载 app
  • 北京网站建设最大的公司排名网站建设 技术方案
  • 从来没做过网站如何做网站建设集团
  • 安徽网新科技怎么建设网站深圳装修公司口碑排行
  • 番禺移动网站建设网站与域名的关系
  • 网站暂时关闭怎么做修改WordPress文章修改样式
  • 中国建筑招聘wordpress优化版4.7.4
  • 基本网站建设技术中小企业网络搭建
  • 合肥建设银行招聘网站惠州网站建设找哪个公司
  • 没有公司自己做网站百度商桥代码怎么加到网站上
  • 深圳企业网站定制公司文化馆为何需要建设自己的网站
  • 网站游戏网站怎么做绍兴建设局网站
  • 科技医疗网站建设搜索引擎营销与seo优化
  • 网站邮箱建设自己有主机怎么做论坛网站
  • wordpress如何设置网站地图长春网络网站制作开发
  • 网站群建设意义国内网站备案要多久
  • 中国旅游电子商务网站建设情况潍坊那个公司做网站比较好