菜鸟教程小白 发表于 2022-12-13 04:20:40

ios - 如何让剪辑 View 在 iOS 中接收触摸事件?


                                            <p><p>当 UITableView 不完全适合其父 View 时,被裁剪的部分是不可滚动的。您只能滚动 TableView 与其父 View 的交集。我相信这种类型的事件处理问题发生在 UIView 的任何组合中,而不仅仅是 TableView 。是否有一个属性或什么我可以打开以允许剪切区域仍然接受触摸事件?</p>

<pre><code> _______
|       |
|    ___|__
|   |______|
|   |______|
|   |______|
|___|______|
    |______|
</code></pre>

<p>这里是如何实现上述布局的一个相当简单的示例。</p>

<pre><code>UIView* parentView = [ initWithFrame:CGRectMake(0, 0, 100, 150)];
UITableView* childView = [ initWithFrame:CGRectMake(50, 50, 100, 150)];
;
;
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>最简单的做法是让您的父 View 覆盖 <code>-pointInside:withEvent:</code> 以检查该点是否在其 subview 内,如果是则返回 YES。 (基本上,如果触摸在父 View 内<em>或</em> tableview,父 View 需要返回YES)</p>

<p>类似:</p>

<pre><code>- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
    CGPoint pointInTableView = ;
    return || ;
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何让剪辑 View 在 iOS 中接收触摸事件?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/19058347/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/19058347/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何让剪辑 View 在 iOS 中接收触摸事件?