Is it possible to preview animation done for UIView with animateWithDuration in Playground? I am adding XCPShowView right after initialization of UIView and its shows everything it in a final state no matter what position on a timeline I will choose.
Asked
Active
Viewed 4,207 times
2 Answers
6
Yes, it is (checked on Xcode 6.1.1, but may apply to earlier versions).
You should:
Select the "Run in Full Simulator" option (see this answer for a step-by-step).
Add the view you wish to animate within a container view.
For example, this shows a black square moving in a down-left motion:
import UIKit
import XCPlayground
let container = UIView(frame: CGRect(x: 0.0, y: 0.0, width: 100.0, height: 100.0))
XCPShowView("container", container)
let view = UIView(frame: CGRect(x: 0.0, y: 0.0, width: 50.0, height: 50.0))
view.backgroundColor = UIColor.blackColor()
container.addSubview(view)
UIView.animateWithDuration(5.0, animations: { () -> Void in
view.center = CGPoint(x: 75.0, y: 75.0)
})

Community
- 1
- 1

Joseph Chen
- 1,520
- 13
- 21
4
Xcode 7 update : XCPShowView
is deprecated but you can see the animation in the playground liveView. And there is more coming soon: Interactive Playgrounds
Here is an update to Joseph Chen sample code. I also changed the color to green as the container default background is black :
import UIKit
import XCPlayground
let container = UIView(frame: CGRect(x: 0.0, y: 0.0, width: 100.0, height: 100.0))
// XCPShowView("container", view: container) // -> deprecated
let view = UIView(frame: CGRect(x: 0.0, y: 0.0, width: 50.0, height: 50.0))
view.backgroundColor = UIColor.greenColor()
container.addSubview(view)
UIView.animateWithDuration(5) {
view.center = CGPoint(x: 75.0, y: 75.0)
}
XCPlaygroundPage.currentPage.liveView=container

Nikita Leonov
- 5,684
- 31
- 37

lazi74
- 622
- 1
- 7
- 23