纵横比约束没有改变
Posted
技术标签:
【中文标题】纵横比约束没有改变【英文标题】:Aspect ratio constraint not getting altered 【发布时间】:2017-06-09 05:45:41 【问题描述】:我有两种图像 1.Square 和其他 2.比例为 3:4 的图像。我提前获得了有关传入图像纵横比的信息(在currentImageAspectRatio
中)。
我想在一个 UIImageView 中处理这两种图像。
在故事板中
我在 imageView 中添加了 1:1 和 3:4 约束,然后取消选中 Installed
以获取 3:4 约束。
在代码中
我的viewDidLoad
有
if currentImageAspectRatio == .square
// Already Square
else
NSLayoutConstraint.deactivate([squareImageConstraint])
imageView.addConstraint(threeByFourImageConstraint)
self.view.layoutIfNeeded()
但这似乎不起作用。我也尝试将相同的代码放入viewWillAppear:
,但这也不起作用。
如果我做错了什么,我会感到困惑。
而且我还需要建议在哪里是最理想的地方来做这样的事情,比如改变约束(我想使用viewWillLayoutSubviews
)。
【问题讨论】:
您添加了 threeByFourImageConstraint 并再次表示您已取消选中它。我不明白。老兄 在viewDidAppear
中尝试此代码,或者您认为正确的方法也可以在viewDidLayoutSubviews
中进行
我之前曾尝试从viewWillLayoutSubviews
、viewWillAppear
和viewDidLoad
调用代码,现在终于可以从viewDidLayoutSubviews
调用它了。
谢谢@PiyushPatel
我认为这是我的错误,我应该删除这个问题吗??
【参考方案1】:
从viewDidLayoutSubviews
调用相同的代码对我有用。
【讨论】:
以上是关于纵横比约束没有改变的主要内容,如果未能解决你的问题,请参考以下文章
Keras - 如何在不改变纵横比的情况下使用 ImageDataGenerator
图像的 UIPageViewController 如何在方向改变时保持图像的纵横比?