[英]viewDidLoad UIView with CGPoint()
I want to create my own custom segue animation in which I want to make presenting VC appear from the button.origin at size(1,1) and shift to CGPoint(0,0) and stretch to full screen size. 我想创建自己的自定义segue动画,在其中我要使呈现的VC从button.origin出现在size(1,1)处,并移至CGPoint(0,0)并拉伸至全屏大小。
VC1
segues to VC2
and passes VC1
's button.frame via VC1
搜索到VC2
并通过传递VC1
的button.frame
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let PVC = segue.destinationViewController as VC2
PVC.CGstart = button.frame.origin}
in VC2
I have 在
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)
}
the viewDidLoad
does not adjust VC4
's frame.origin....while my @IBAction func DragTest
does viewDidLoad
不能调整VC4
的frame.origin ....,而我的@IBAction func DragTest
可以
Why is this? 为什么是这样? I've tried so many different variations.
我尝试了很多不同的变化。
Try moving the origin setting to viewWillAppear
. 尝试将原点设置移动到
viewWillAppear
。
override func viewWillAppear() {
super.viewWillAppear()
VC4.frame.origin = CGstart
}
This solved the issue. 这解决了问题。
override func viewDidLoad() {
super.viewDidLoad()
self.view.layoutIfNeeded()
VC4.frame.origin = CGstart
}
no need for viewDidAppear
or layoutSubviews
. 不需要
viewDidAppear
或layoutSubviews
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.