Поддерживает ли IOS Playground анимацию UIView?
Можно ли просмотреть анимацию, выполненную для UIView с анимациейWithDuration в Playground? Я добавляю XCPShowView сразу после инициализации UIView, и он показывает все, что он в конечном состоянии, независимо от того, какую позицию на временной шкале я выберу.
Ответы
Ответ 1
Обновление Xcode 7: XCPShowView
устарело, но вы можете увидеть анимацию на игровой площадке liveView. И скоро будет еще больше: Интерактивные игровые площадки
Вот пример кода Джозефа Чена. Я также изменил цвет на зеленый, поскольку фон по умолчанию для контейнера черный:
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
Ответ 2
Да, это (проверено на Xcode 6.1.1, но может применяться к более ранним версиям).
Вы должны:
-
Выберите шаг "Запустить в полном симуляторе" (см. этот ответ за шаг за шагом).
-
Добавить представление, которое вы хотите оживить в представлении контейнера.
Например, это показывает черный квадрат, движущийся в движении вниз-вниз:
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)
})