// ScrollView Delegate 中
// MARK: - 發送按鈕滑動動畫
/// 滑動時隐藏按鈕,需判斷滑動範圍,和是否拖動。否則下拉重新整理、push進其他頁後再回到本頁會導緻按鈕隐藏,而停止方法未調用,按鈕隐藏後沒有自動出現的bug。
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if scrollView.contentOffset.y > 0 {
if scrollView.isDragging {
UIView.animate(withDuration: 0.5) {
self.postButton.transform = CGAffineTransform(translationX: 127, y: 0)
}
}
}
}
/// 停止拖動,顯示按鈕
func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
if decelerate == false {
UIView.animate(withDuration: 0.5) {
self.postButton.transform = .identity
}
}
}
/// 滾動停止,顯示按鈕
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
UIView.animate(withDuration: 0.5) {
self.postButton.transform = .identity
}
}