viewDidLoad UIView with CGPoint()

时间:2015-04-01 23:30:56

标签: ios iphone swift uiview viewdidload

我想创建我自己的自定义segue动画,我想在其中使用尺寸为(1,1)的button.origin显示VC并转移到CGPoint(0,0)并拉伸到全屏尺寸。 / p>

VC1转到VC2并通过VC1的button.frame通过

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    let PVC = segue.destinationViewController as VC2
    PVC.CGstart = button.frame.origin}

VC2我有

@IBOutlet var VC4: UIView!

var CGstart = CGPoint()

override func viewDidLoad() {
    super.viewDidLoad()
    VC4.frame.origin = CGstart
}

@IBAction func DragTest(sender: UIButton) {
    VC4.frame.origin = CGstart
    println(CGstart)
}

viewDidLoad不会调整VC4的frame.origin ....而我的@IBAction func DragTest会这样做

这是为什么?我尝试了很多不同的变化。

2 个答案:

答案 0 :(得分:0)

尝试将原点设置移至viewWillAppear

override func viewWillAppear() {
    super.viewWillAppear()
    VC4.frame.origin = CGstart
}

答案 1 :(得分:0)

这解决了这个问题。

override func viewDidLoad() {
    super.viewDidLoad()
    self.view.layoutIfNeeded()
    VC4.frame.origin = CGstart
}

无需viewDidAppearlayoutSubviews