UIImageView.Image的一组重新定位父视图

时间:2015-11-13 13:21:54

标签: swift uiview uiimageview

我有一个UIView并添加了一个UIImageView作为它的孩子。我后来通过另一个UIButton事件改变了UIView的位置。

如果我改变了UIVmageView的图像,那么UIView - inc。所有盾牌 - 移回初始位置。

有没有人可以解释一下这里发生了什么:-D如何保持UIView的新职位?

Here a image screen I took to visualize the issue

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var number: UIImageView!
    @IBOutlet weak var popup: UIView!

    @IBAction func openPopup(sender: UIButton) {
        self.popup.center = sender.center
        //old position: (190.5, 124.0) - new Position: (173.0, 414.0)
    }

    @IBAction func updateImage(sender: UIButton) {
        self.number.image = UIImage(named: "img-1")
    }
}

更新

我发现如果我停用autolayout,上面的代码就可以了。以下是使用自动布局执行此操作的解决方案: Auto Layout center UIView above another UIView at its center

2 个答案:

答案 0 :(得分:0)

你确定吗?您是否在popup.frame.origin被调用后通过updateImage进行了检查?您是否为clipsToBounds uiimageview正确设置了contentModenumber属性?

答案 1 :(得分:0)

我发现如果我停用"使用自动布局"上面的代码有效。在“文件检查器”选项卡的“界面生成器文档”部分中。

此外,这是使用自动布局和约束的问题的有效解决方案:

Auto Layout center UIView above another UIView at its center