Я изучаю Swift, и у меня возникают проблемы с перемещением UIView из разных функций. Если я использую это:animateWithDuration не отображается
ViewController:
let boardView = BoardView()
@IBAction func startButtonTapped(sender: UIButton) {
view.addSubview(boardView.background)
}
Класс BoardView:
class BoardView : UIView {
let multiplier: CGFloat = 0.95
let screenSize = UIScreen.mainScreen().bounds
var background: UIView {
let boardSize: CGFloat = multiplier * screenSize.width
let board = UIView(
frame: CGRectMake(-boardSize,
screenSize.height/2 - boardSize/2,
boardSize,
boardSize)
)
board.layer.cornerRadius = 8.0
board.backgroundColor = UIColor.blackColor()
UIView.animateWithDuration(0.15, animations: {
board.center.x = self.screenSize.width/2
})
return board
}
}
Анимационные работы (в качестве противоречащий образом, для меня). Если я пытаюсь переместить UIView из другой функции, например: кнопка
ViewController:
@IBAction func startButtonTapped(sender: UIButton) {
view.addSubview(boardView.background)
boardView.moveBackground()
}
BoardView:
class BoardView : UIView {
let multiplier: CGFloat = 0.95
let screenSize = UIScreen.mainScreen().bounds
var background: UIView {
let boardSize: CGFloat = multiplier * screenSize.width
let board = UIView(
frame: CGRectMake(-boardSize,
screenSize.height/2 - boardSize/2,
boardSize,
boardSize))
board.layer.cornerRadius = 8.0
board.backgroundColor = UIColor.blackColor()
return board
}
func moveBackground() {
UIView.animateWithDuration(0.15, animations: {
self.background.center.x = self.screenSize.width/2
})
}
}
анимация не работает. Ничего не происходит, если я использую animateWithDuration
в ViewController.
Как я могу переместить UIView из другого места, чем там, где я его создал?
Имена вашего класса и переменных действительно запутывают. – dasdom