菜鸟教程小白 发表于 2022-12-13 04:45:16

iOS 在其 subview 中接收 super View 的触摸事件


                                            <p><p><strong>问题:</strong> <em>有没有办法在其 subview 中<strong>直接</strong>接收来自父 View 的触摸(即触摸 subview 边界之外的触摸)?</em></em> p>

<p>我想避免委托(delegate)(正式/非正式)、NSNotification、代理或任何其他将触摸事件从一个 View 转发到另一个 View 的中间解决方案。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>这样就可以了。覆盖 subview 中的 <code>pointInside</code>。希望能直接满足您的要求。</p>

<pre><code>- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
{
   point = ;
    CGRect frame = self.superview.frame;
    if (CGRectContainsPoint(frame, point)) {
      return YES;
    }
    return ;
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于iOS 在其 subview 中接收 superView 的触摸事件,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/27923171/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/27923171/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iOS 在其 subview 中接收 super View 的触摸事件