Я пытаюсь анимировать UITableView
так, чтобы при появлении этого вида он переместился снизу вверх. Я пробовал использовать множество разных методов из разных вопросов здесь, но никаких предложений для меня не работало.Перемещение позиции UITableView в Swift
То, что я на данный момент это:
override func viewDidLoad() {
super.viewDidLoad()
menuTableView.layer.cornerRadius = 7
menuTableView.delegate = self
menuTableView.dataSource = self
view.addSubview(menuTableView)
menuTableView.frame.origin.y = menuTableView.frame.origin.y + menuTableView.frame.height
// Do any additional setup after loading the view.
}
override func viewDidAppear(animated: Bool) {
if (menuTableView.indexPathForSelectedRow() != nil) {
menuTableView.deselectRowAtIndexPath(menuTableView.indexPathForSelectedRow()!, animated: true)
}
UIView.animateWithDuration(10, animations: {
self.menuTableView.frame.origin.y - menuTableView.frame.height
})
}
Кто-то предложил добавить UITableView
как подвид, поэтому я попытался это, но он также не работает. Стол остается там, где он есть.
Кто-нибудь знает способ, который работает в Swift?
Is табличное сделано в раскадровке, и является автоматическая раскладка включена (это если вы не выключили его)? – rdelmar
Это, да. И я отключил автоматическую компоновку. С первым предложением нижеприведенного ответа он работает, но, похоже, второй второй оставшийся (я предполагаю, потому что добавляю второе представление таблицы как подвью?). – user3746428
Вместо того, чтобы отключать его, научитесь использовать автоматическую компоновку. С его помощью вы должны сделать IBOutlet для ограничения, которое вы хотите изменить, и изменить его постоянное значение в коде для анимации. – rdelmar