我有一个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
答案 0 :(得分:0)
你确定吗?您是否在popup.frame.origin
被调用后通过updateImage
进行了检查?您是否为clipsToBounds
uiimageview正确设置了contentMode
和number
属性?
答案 1 :(得分:0)
我发现如果我停用"使用自动布局"上面的代码有效。在“文件检查器”选项卡的“界面生成器文档”部分中。
此外,这是使用自动布局和约束的问题的有效解决方案:
Auto Layout center UIView above another UIView at its center