我想创建我自己的自定义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
会这样做
这是为什么?我尝试了很多不同的变化。
答案 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
}
无需viewDidAppear
或layoutSubviews
。