ナビゲーション バーの非表示を通常より遅くしたいと考えています。
私は次のことを試しましたが、非表示にすると、アニメーション化する代わりに即座に消えます (以下のビューは正しくアニメーション化されます)。
[UIView beginAnimations:@"hideNavBar" context:nil];
[UIView setAnimationDuration:2.0];
[self.navigationController setNavigationBarHidden:value];
[UIView commitAnimations];
私が代用すると:
[self.navigationController setNavigationBarHidden:value animated:YES];
次に、遅いバージョンの代わりに通常の期間を使用します。うーん。
私は本当に狡猾になり、次のことをしようとさえしました:
CGFloat *durationRef = &UINavigationControllerHideShowBarDuration;
CGFloat oldDuration = *durationRef;
*durationRef = 2.0;
[self.navigationController setNavigationBarHidden:value animated:YES];
*durationRef = oldDuration;
その結果、割り当てで EXE _ BAD _ ACCESS が発生しました。何か案は?