Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Can';在UIScrollView和AutoLayout中使用AspectFill滚动UIImageView_Ios_Objective C_Uiscrollview_Uiimageview_Autolayout - Fatal编程技术网

Ios Can';在UIScrollView和AutoLayout中使用AspectFill滚动UIImageView

Ios Can';在UIScrollView和AutoLayout中使用AspectFill滚动UIImageView,ios,objective-c,uiscrollview,uiimageview,autolayout,Ios,Objective C,Uiscrollview,Uiimageview,Autolayout,我有一个UIScrollView和一个UIImageView子级。scrollView通过autolayout在所有侧面固定到(根)父容器,子imageview也固定到所有侧面,内容模式设置为AspectFill UIImage *image = [UIImage imageNamed:@"photo1.jpeg"]; _imageView.image = image; _imageView.contentMode = UIViewContentModeScaleAspectFill; _s

我有一个UIScrollView和一个UIImageView子级。scrollView通过autolayout在所有侧面固定到(根)父容器,子imageview也固定到所有侧面,内容模式设置为
AspectFill

UIImage *image = [UIImage imageNamed:@"photo1.jpeg"];

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

_scrollView.contentOffset = CGPointZero;
_scrollView.contentSize = _imageView.image.size;
_scrollView.zoomScale = 1;
本例中的图像比我的屏幕宽。当我启动我的应用程序时,imageview会正确显示填满屏幕的图像。然而,我似乎无法左右平移图像。当我放大时,我可以平移,但是,我无法平移到图像的各个角落

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

我在下面附上了一张图片,你可以看到图片不能以显示“幸福”开始的方式滚动。我还上传了样本

子imageview也固定到所有侧面


相反,关闭子图像视图的自动布局(将其
转换…
设置为“是”)。您已经将滚动视图的
contentSize
设置为图像大小,因此现在滚动性将跃入生活,并与缩放正确交互。

感谢您的帮助。我刚刚尝试了你提到的,突然约束解析器崩溃了,说它不能同时满足约束。此外,它还导致uiimageview无法填充scrollview。我上传了样本。因此,尽管有了您的更改,我确实可以滚动到图像的末尾,imageview不再填充scrollview。另外,matt,如果我不设置contentSize,有没有办法解决这个问题?”因此,尽管有了您的更改,我确实可以滚动到图像的末尾,imageview不再填充scrollview“哦,当然;如果没有自动布局,则必须自己设置图像视图的大小。当然,您必须删除影响图像视图的所有约束(如果不能删除它们,则将它们设置为nib中的占位符)。但这正是我建议你做的如果你自己无法解决github项目,我很乐意提出请求,但首先让我给你一个机会看看我的建议是否有意义。“另外,matt,如果我不设置contentSize,有没有办法解决这个问题”你要求的是纯自动布局解决方案?我发现图像视图本身无法工作。您需要一个围绕它的内容视图。请参见示例。谢谢matt。我完全从uiimageview中删除了约束,将
translates…
设置为
YES
,并将uiimageview的框架设置为特定的内容,这似乎对我很有用。我可以从您的帮助中理解,关闭自动布局有助于我的事业,但有没有办法合理解释为什么我无法滚动到imageview的开头?我是不是完全错了?我希望我能理解为什么对我的初始问题应用“AspectFill”会阻止我滚动到图像边缘?