注意:我在下面的UPDATE答案中添加了我的新解決方案。淡入/淡出UIScrollView的內容如Mobile Safari在其標籤
我嘗試重新創建我們在iPhone/iPod touch的Mobile Safari選項卡中看到的效果。
基本上,它是一個UIScrollView,它包含4個可重用的UIView(表現得像環形緩衝區),並且水平滾動。滾動時,UIView的不透明度將隨着偏移而無縫地淡入/淡出。
目前,我在- (void)scrollViewDidScroll:(UIScrollView *)scrollView
做所有骯髒的工作。如從UIScrollView獲取contentOffset,確定頁面設置,計算contentOffset和每個UIView位置之間的增量,並在調用scrollViewDidScroll:
時決定/設置每個UIView的Alpha值。
它的工作原理,性能沒問題,一切運行順利,但唯一的問題是太多的計算。
我試過的UIView的beginAnimations:
和commitAnimations:
,但它在scrollViewDidScroll:
沒用的,因爲1)新的阿爾法值還是要由我自己來計算,和2)scrollViewDidScroll:滾動時不停叫,這是毫無意義的,在這裏做動畫。有什麼方法可以用Core Animation重寫這部分?所以我不必對每個UIView的alpha值進行數學運算,相反,我可以將整個作品留給Core Animation。
現在就找到它,它很棒 - 謝謝你的分享!一個小故障:最初的alpha並沒有設置爲唯一的離屏視圖。我想我可以明確地調用updateAlpha,但也許在開始時顯式設置contentOffset就足夠了。思考? – 2011-03-06 03:56:20