我目前正在开发iPhone应用程序,我需要重新定位UIImageView。到目前为止,这是我迄今所做的:
import UIKit
import CoreGraphics
import AVFoundation
import QuartzCore
class _DBubbleViewController: UIViewController {
@IBOutlet weak var BubbleBackground: UIImageView!
@IBOutlet weak var Bubble: UIImageView!
override func viewWillAppear(animated: Bool) {
Bubble.frame = CGRect(x: 168, y: 220, width: Bubble.bounds.size.width, height: Bubble.bounds.size.height)
我已检查@IBAction
已正确连接,但是当我运行该程序时,UIImageView
位置未更改。有人可以帮忙吗?
答案 0 :(得分:5)
在Storyboard中,单击您的UIImageView并为前缘添加约束,为上边缘添加约束。
CTRL将视图层次结构中的每个约束拖动到swift文件中,并为每个约束添加IBOutlets:将它们称为bubbleLeadingConstraint
和bubbleTopConstraint
。
将您的代码更改为:
override func viewWillAppear(animated: Bool) {
super.viewWillAppear()
bubbleLeftConstraint.constant = 168;
bubbleTopConstraint.constant = 220;
}
如果你想改变宽度/高度,也要为它添加约束并在代码中设置。
您现在可以通过更改约束来更改位置。您还可以通过更改常量并将self.view.layoutIfNeeded()
放在动画块中来为任何更改设置动画。