0
ウィジェットを行います。アニメーションでセルの高さを変更する必要があります。 「もっと見る」をクリックすると、追加のコントロールが表示されます。 enter image description hereUITableViewセル高さアニメーション
私はこのコード
tableView.beginUpdates()
showModes(alpha: 1, duration: 0.2, delay: 0.1)
tableView.endUpdates()
func showModes(alpha: CGFloat, duration: CGFloat, delay: CGFloat) {
if tableView.numberOfRows(inSection: 0) != 0 {
for i in 0...tableView.numberOfRows(inSection: 0)-1 {
let indexPath = IndexPath(row: i, section: 0)
if let cell = tableView.cellForRow(at: indexPath) as? WidgetCell {
UIView.animate(withDuration: TimeInterval(duration), delay: TimeInterval(delay) ,animations: {
if alpha == 0 {
cell.favoriteConstraint.constant = -45
} else {
cell.favoriteConstraint.constant = 10
}
cell.favoriteMode.alpha = alpha
self.tableView.layoutIfNeeded()
})
}
}
}
}
を書いたしかし、それはスムーズに動作しません。それは劇的に上下にツイッチします。 Appleの天気ウィジェットなどで、これをスムーズに動作させるにはどうすればよいですか?
はい、それはすべてのviewDidLoad funcを オーバーライドを追加(){ super.viewDidLoad() ledControllers = readLED() self.tableView.estimatedRowHeight = 300 self.tableView.rowHeight = UITableViewAutomaticDimension } ビデオを録画してより明瞭にしました。最初のセルが展開され、アニメーションが開始されます。私はそれが天気予報ウィジェットのようだったと思う。 https://youtu.be/f4D7NnoyWrQ P.S. Судяпоникувыговоритепорусски? – MacSergey