菜鸟教程小白 发表于 2022-12-11 16:54:45

ios - UITableView didSelect 委托(delegate)没有被调用?


                                            <p><p>在我的应用程序中,我在 ScrollView 上添加了 UITableView。我在表格 View 中<strong>禁用</strong>滚动。
所以,只有scrollView Scrolls,我用tableView Frame 调整了scroll view content Size。所以,我可以访问所有单元格。 </p>

<p>考虑一下,屏幕上有 5 行可见,如果我点击其中任何一行,就会调用 <strong>didSelectRowAtIndexPath</strong> 方法。如果我向下滚动,请说第 6 个单元格并点击它。该方法不会被调用。</p>

<p>UIcollectionView 也会出现同样的问题。</p>

<p>我添加的原因是。当我滚动 ScrollView 时,其中的 View 应该固定在顶部,并且它后面的 tableView 应该继续滚动。您可能已经在 Android 中的许多应用程序中看到过。因此,我使用了 ScrollView didScroll 委托(delegate)来获取偏移位置。根据它,我将固定 View ,反之亦然。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>使<code>UITableView</code>的高度与表格的内容高度一致。
然后设置<code>UIScrollView</code>的内容大小为<code>UITableView</code></p>的高度

<p>这里有一个简单的例子来演示</p>

<pre><code>CGRect rect = tblTopics.frame;
rect.size.height = tblTopics.contentSize.height;
tblTopics.frame = rect;

self.scrlVwFacultyDtl.contentSize = CGSizeMake(self.scrlVwFacultyDtl.frame.size.width, tblTopics.frame.size.height);
</code></pre>

<p>在上面的例子中,tblTopics 是 <code>UITableView</code> 的实例,而 scrlVwFacultyDtl 是 <code>UIScrollView</code></p> 的实例

<p>希望对你有所帮助..</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - UITableView didSelect 委托(delegate)没有被调用?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/38222263/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/38222263/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - UITableView didSelect 委托(delegate)没有被调用?