菜鸟教程小白 发表于 2022-12-12 18:49:39

iOS Scroll View 不使用自动布局滚动,并以编程方式添加 View


                                            <p><p>我有一个 <code>ViewController</code>,里面有一个 <code>scrollView</code> 和一个内容 <code>View</code>。
一些 <code>labels</code> 和 <code>Content View</code> 中的内容也是如此。</p>

<p> <img src="/image/LeIe7.png" alt="ScrollView ScreenShot"/> </p>

<p> <img src="/image/LeIe7.png" alt="Constraints ScreenShot"/> </p>

<p>现在之后,当 <code>view</code> 加载时,我必须将其他地方的数据传递给这个 <code>view controller</code>,然后通过代码加载一些其他 View 。</p>

<p><code>scrollview</code> <code>Content height</code> 和 height 确实得到了更新,我确实将 View 的加载和添加放在了 <code>ViewWillAppear</code> 处。但是即使内容大小大于 <code>scrollview</code> 的高度,我也无法滚动它。</p>

<p><code> ScrollView </code>高度:<strong>667</strong>。 <code> ScrollView </code> 内容高度:<strong>1632</strong>
<code>ContentView</code> 高度:<strong>1632</strong></p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您的 ScrollView 没有滚动,因为您为内容 View 提供了固定大小。</p>

<p>别着急,做个高度限制的导出就行了。</p>

<p>查看下图,如何创建约束导出,</p>

<p> <a href="/image/EB9E7.gif" rel="noreferrer noopener nofollow"><img src="/image/EB9E7.gif" alt="enter image description here"/></a> </p>

<p>注意:- 你需要创建出高度约束。</p>

<p>来自您的图片。</p>

<p> <a href="/image/FVLXI.png" rel="noreferrer noopener nofollow"><img src="/image/FVLXI.png" alt="enter image description here"/></a> </p>

<p>现在设置在你的 <strong>viewDidLayoutSubviews</strong></p>

<pre><code>-(void)viewDidLayoutSubviews
{
    NSInteger screenheight=[ [ UIScreen mainScreen ] bounds ].size.height;

    if (screenheight &gt; 504 + 64)
    {
      _contentviewHeight.constant = screenheight-64;
    }

}
</code></pre>

<p>最后但并非最不重要的一点,不要忘记从 <strong>Adjust Scrollview 昆虫</strong>中删除 Tick,</p>

<p> <a href="/image/rzGcM.gif" rel="noreferrer noopener nofollow"><img src="/image/rzGcM.gif" alt="enter image description here"/></a> </p></p>
                                   
                                                <p style="font-size: 20px;">关于iOS Scroll View 不使用自动布局滚动,并以编程方式添加 View ,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/35932097/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/35932097/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iOS Scroll View 不使用自动布局滚动,并以编程方式添加 View