iOS 如何让超出父视图的部分响应事件

1.demo

奉上自己的demo

2. 不能点击的原因

由于找不到hittest view,所以没有可以响应的uiresponser对象,所以点击没有任何反应

3. 解决思想

覆写hittest方法让父视图可以找到这个视图就好

4. 代码演示
- (UIView *)hitTest:(CGPoint)point withEvent:    (UIEvent *)event
{
  if (!self.isUserInteractionEnabled
      || self.isHidden
      || self.alpha <= 0.01)
  {
      return nil;
  }
  else
  {
      for (UIView *subView in [self.subviews reverseObjectEnumerator]) 
        {
          CGPoint convertedPoint = [subView convertPoint:point fromView:self];
          UIView *hitView = [subView hitTest:convertedPoint withEvent:event];
          if (hitView)
          {
              return hitView;
          }
      }
      return self;
  }
}

最近更新

  1. TCP协议是安全的吗?

    2024-05-12 07:46:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-12 07:46:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-12 07:46:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-12 07:46:02       20 阅读

热门阅读

  1. 电商平台遭遇DDOS、CC攻击有什么防护方案

    2024-05-12 07:46:02       9 阅读
  2. Lucene 英文词根处理

    2024-05-12 07:46:02       11 阅读
  3. 十分钟“手撕”内部类+static在内部类的使用

    2024-05-12 07:46:02       11 阅读
  4. react经验15:拖拽排序组件dnd-kit的使用经验

    2024-05-12 07:46:02       9 阅读
  5. vue.js 介绍

    2024-05-12 07:46:02       9 阅读
  6. React Router DOM BrowserRouter

    2024-05-12 07:46:02       10 阅读
  7. Pycharm所有快捷键的使用

    2024-05-12 07:46:02       9 阅读
  8. 【DevOps】Linux 网络命令netstat详解

    2024-05-12 07:46:02       12 阅读
  9. ensp简单ac+ap+sta无线配置和脚本

    2024-05-12 07:46:02       8 阅读
  10. ubuntu删除opencv

    2024-05-12 07:46:02       8 阅读
  11. 华为OD介绍

    2024-05-12 07:46:02       10 阅读
  12. 网易灵犀办公企业邮箱的IMAP和POP3服务器地址

    2024-05-12 07:46:02       9 阅读