菜鸟教程小白 发表于 2022-12-13 08:57:46

ios - 无法在 UIScrollView 和 AutoLayout 中使用 AspectFill 滚动 UIImageView


                                            <p><p>我有一个带有单个 UIImageView 子的 UIScrollView。 ScrollView 通过自动布局固定在(根)父容器的所有侧面,并且子 ImageView 也固定在内容模式设置为 <code>AspectFill</code> 的所有侧面。</p>

<pre><code>UIImage *image = ;

_imageView.image = image;
_imageView.contentMode = UIViewContentModeScaleAspectFill;

_scrollView.contentOffset = CGPointZero;
_scrollView.contentSize = _imageView.image.size;
_scrollView.zoomScale = 1;
</code></pre>

<p>这种情况下的图像比我的屏幕宽。当我启动我的应用程序时,imageview 正确显示了填满屏幕的图像。但是,我似乎无法向左或向右平移图像。当我放大时,我可以平移,但是,我无法平移到图像的角落。</p>

<p>由于自动布局,我觉得我的内容大小没有被正确计算,但我不确定我可以播放哪些参数来让我将图像滚动到边缘。</p>

<p>我在下面附上了一张图片,您可以在其中看到图片无法以显示“幸福”开头的方式滚动。我还上传了样本 <a href="https://github.com/vijaysharm/stackoverflow-31296497" rel="noreferrer noopener nofollow">here</a> </p>

<p> <img src="/image/8mwDS.gif" alt="autolayout"/> </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><blockquote>
<p>the child imageview is also pinned to all sides</p>
</blockquote>

<p>相反,<em>为子 ImageView 关闭自动布局</em>(将其 <code>translates...</code> 设置为 YES)。您已经将 ScrollView 的 <code>contentSize</code> 设置为图像大小,因此现在可滚动性将跃然纸上,并与缩放正确交互。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 无法在 UIScrollView 和 AutoLayout 中使用 AspectFill 滚动 UIImageView,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/31296497/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/31296497/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 无法在 UIScrollView 和 AutoLayout 中使用 AspectFill 滚动 UIImageView