iOS Playgrounds 是不是支持 UIView 动画?

Posted

技术标签:

【中文标题】iOS Playgrounds 是不是支持 UIView 动画?【英文标题】:Does iOS Playgrounds supports UIView animations?iOS Playgrounds 是否支持 UIView 动画? 【发布时间】:2014-08-07 21:41:00 【问题描述】:

是否可以在 Playground 中使用 animateWithDuration 预览为 UIView 完成的动画?我在 UIView 初始化后立即添加 XCPShowView ,无论我选择时间轴上的哪个位置,它都会以最终状态显示所有内容。

【问题讨论】:

【参考方案1】:

是的(在 Xcode 6.1.1 上检查过,但可能适用于早期版本)。

你应该:

    选择“在完整模拟器中运行”选项(请参阅this answer 了解分步操作)。

    在容器视图中添加您希望设置动画的视图。

例如,这显示了一个向左下方移动的黑色方块:

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)
)

【讨论】:

【参考方案2】:

Xcode 7 更新:XCPShowView 已弃用,但您可以在 Playground liveView 中看到动画。还有更多即将推出:Interactive Playgrounds

这是 Joseph Chen 示例代码的更新。我还将颜色更改为绿色,因为容器默认背景是黑色:

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

【讨论】:

以上是关于iOS Playgrounds 是不是支持 UIView 动画?的主要内容,如果未能解决你的问题,请参考以下文章

找回 Swift Playgrounds? iOS 10 GM 警告

在 Swift Playgrounds (iOS) 上使用数据库

强制 Swift Playgrounds (xcode) 在不模拟 iOS 的情况下使用 MacOS SpriteKit

Swift 中 Playgrounds 的用途是啥?

Swift Playgrounds 是如何工作的?

如何在 XCode 8 Playgrounds 中使用 Swift 2.3?