ページングが有効になっている scrollView があります。次のページにドラッグし始めると、navigationBar にテキストをスムーズにフェードアウトさせたいと思います。私はデリゲートメソッドでそれを行います:
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
ドラッグの割合を次のように計算します。
CGFloat percentDragging = 1 - fmodf(scrollView.contentOffset.x,self.view.frame.size.width)/self.view.frame.size.width;
そして、これは正しい値を返します。
だから:私は設定しようとします:
self.navigationController.navigationBar.titleView.alpha = percentDragging
しかし、うまくいきませんでした。
私は次の方法で問題を解決しました:
((UIView*)[[self.navigationController.navigationBar subviews] objectAtIndex:1]).alpha = percentDragging;
しかし、これは醜く、大雑把で、危険な解決策です。より良い方法はありますか?