在我的應用程序中,我有一個頁面視圖控制器,允許用戶在應用程序的不同「部分」之間滑動,並在導航欄頂部將標題文本更改爲新部分用戶已通過pageViewController:didFinishAnimating:previousViewControllers:transitionCompleted:
刷卡。目前它在動畫完成時立即更改標題文本。我想用一些動畫來改善它,一種微妙的淡入淡出效果。動畫導航欄標題文本更改
我第一次試圖實現[UIView animationWithDuration:...]
來改變標題文字的動畫效果,但它不動畫,並且仍然立即更新。
然後我想知道是否有可能更新導航欄標題的alpha值,因爲用戶會根據滾動的距離來水平滾動,當下一部分即將出現在屏幕上時達到0 alpha,那麼我可以在文本爲0時立即更改文本,然後快速淡入1 alpha。但是我沒有看到UIPageViewControllerDelegate
上滾動位置更新時調用的方法。
如果可能,而不是淡入淡出,我可以淡入淡出以及移動導航欄中的標題文本位置,就像從通過滑動手勢從推入式導航返回時出現的默認動畫一樣。當用戶滾動並在另一側提供下一個部分標題時,我會滑動舊部分標題,以便在轉換完成時,前一部分標題脫離屏幕,並且新標題完全居中以便更換完成。但是,這又需要確切知道用戶滾動頁面視圖控制器的程度。
是否有可能實現任何期望的動畫?
您是否嘗試過爲自己的導航標題使用自定義視圖? self.navigationItem.titleView = customNavTitleLabel; – Zhang
@張我沒有,我會調查。有沒有辦法從現有標題中獲得'UILabel',這樣我就可以獲取默認的標題(它會隨着粗體文本的啓用而變化),改變它,並將其設置爲已調整的標題? – Joey
我想我已經看到人們使用一些瘋狂的遞歸循環來找到導航標題子視圖:P你可以嘗試,如果你想。 – Zhang