Возможно ли, что при прокрутке останется видимым на экране UITableViewCell
(например, при прокрутке вниз ячейка должна оставаться видимой в верхней части экрана). Я неявно спрашиваю, могу ли я сделать это с помощью ячейки, поэтому не беспокойтесь, предлагая мне использовать заголовок или нижний колонтитул таблицы, потому что мне сказали, что на этом сайте невозможно анимировать представления внутри нижнего колонтитула или заголовка, я ДЕЙСТВИТЕЛЬНО НУЖДАЕТСЯ возможность анимации подзонов внутри представления таблицы (что, по-видимому, может быть сделано только в ячейке).Сохранять видимый UITableViewCell при прокрутке? (Swift 3)
Итак, чтобы перефразировать: можно ли в любой момент держать ячейку внутри вида стола видимой во время прокрутки вверх или вниз? Если нет, есть ли «трюк» для анимации представлений внутри нижнего колонтитула или заголовка? потому что, как я уже сказал, мне сказали, что нет «законного» способа сделать это.
Исправьте меня, если это не так. Благодаря!
UPDATE: Чтобы исправить себя на некоторые замечания, которые я сделал раньше: кажется, что это можно оживить подвидов внутри вид колонтитула, но он не работает так же, как анимировать ячейку внутри представления таблицы, поэтому, если кто-нибудь знает, как совершить анимацию в нижнем колонтитуле, не стесняйтесь отбросить некоторые предложения. Вызов reloadData()
Метод представления таблицы работает с ячейками таблицы, но нижний колонтитул полностью игнорирует UIView.animate(withDuration:)
и мгновенно отображает изменения макета без их анимации.
UPDATE:
if self.didTapOnButton == true {
self.view.layoutIfNeeded()
UIView.animate(withDuration: 0.3, animations: {
bubbleView.backgroundColor = UIColor(red: 255/255, green: 225/255, blue: 68/255, alpha: 1)
containerViewTrailingConstraint.constant = 5
iconImageViewTrailingConstraint.constant = 5
bubbleViewEqualWidthConstraint.constant = 0
self.view.layoutIfNeeded()
}, completion: { (done:Bool) in
UIView.animate(withDuration: 0.2, animations: {
textView.alpha = 1
doneButton.alpha = 1
}, completion: { (done:Bool) in
textView.becomeFirstResponder()
})
})
self.didTapOnButton = false
}
код, который запускает анимацию. self.didTapOnButton
установлен на true
, когда кнопка нажата, и сразу после этого табличное представление перезагружается, поэтому этот код запускается один раз (уведомление self.didTapOnButton
получает повторное задание до false
после завершения анимации). Кажется, очень маловероятно, что проблема находится внутри этого кода, хотя, поскольку она отлично работала, когда ячейка все еще находилась в представлении таблицы, вместо нижнего колонтитула таблицы.
Возможно, вы имели в виду «table view _section_ header»? Я спрашиваю, потому что они являются представлениями с желаемой встроенной функциональностью (также потому, что я уверен, что можно анимировать заголовки заголовков таблицы). У вас есть ссылка на то, где вы читаете, что это невозможно? – Andreas
Да, вот что я имею в виду. Не могу найти ссылку, это было давно, поэтому, возможно, она была удалена, она была с другой учетной записью. Чтобы быть более конкретным, я хочу анимировать внутри раздела FOOTER, а не заголовка. Вы знаете, как это сделать? Вызов 'reloadData()' может сделать ячейки анимированными, а нижние колонтитулы - нет. В нижнем колонтитуле изменения в блоке анимации мгновенно происходят без анимации. –
Я просто добавил тестовый подкласс UIView, содержащий анимированный CALayer, и он отлично работает. Какую анимацию вы пытаетесь достичь? – Paulw11