0
我想實現我的應用程序如下:試圖實現的Facebook即時文章頁面,但我不能讓圖像視圖高度動畫
- 與圖像視圖滾動型和視圖子視圖。
當我從滾動視圖的頂部向下拖動時,圖像視圖在高度方面增加了方面填充模式,給人以縮放的印象。
當我放開時,圖像會回到原來的高度。
所以基本上,我試圖複製Facebook應用程序的即時文章頁面。
問題是我無法將圖像視圖恢復爲原始大小。它似乎總是反躬自問。 UIView.animateWithDuration()不在這裏工作因爲某些原因:/
這裏是我的代碼: (imageHeight是的UIImageView的高度約束的一個IBOutlet)
func scrollViewDidScroll(scrollView: UIScrollView) {
let y = self.scrollView.contentOffset.y
if y < 0 && self.imageHeight.constant < 500
{
self.imageHeight.constant += (-1*y)*0.5;
}
}
func scrollViewDidEndDecelerating(scrollView: UIScrollView) {
self.stoppedScrolling()
}
func scrollViewDidEndDragging(scrollView: UIScrollView, willDecelerate decelerate: Bool) {
if !decelerate
{
self.stoppedScrolling()
}
}
func stoppedScrolling()
{
UIView.animateWithDuration(1) {
self.imageHeight.constant = 180
}
}
Here's a gif of the result 而且,這不是」 t在gif中顯示,但在結束觸摸和調整大小之間存在半秒的延遲
謝謝你的回答。它確實似乎在改變着高度。但是,圖像視圖的頂部不會被剪切到頂部邊距。任何方式來做到這一點? –
我想我明白了。只需在scrollViewDidZoom()中添加self.imageView.center.y + = y即可達到所需的效果!你能編輯你的答案嗎? –
我剛給你一些提示,如果你有你想要的,沒有理由編輯我的答案,很高興幫助你。 –