2009-09-16 13 views
6

私のアプリケーションにはUITabBarControllerがあります。このコントローラの最初のビューでは、私はUINavigatioControllerを持っており、ユーザーはこのNavigationControllerを通して複数のビューにナビゲートできます。このコントローラのrootviewには、私のappDelegateの別のビューである情報ページに画面をフリップする情報アイコンを持つアプリケーションのフロントビューまたはメインビューがあります。だから、私はappdelegateから次のコードを使って情報ページに切り替えます。iPhoneの上部から白いバーを削除するには

UIView * controllersView = [aboutUsViewController view]; 
[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:1]; 
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; 
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:window cache:YES]; 
[self.window addSubview:controllersView]; 
//[aboutUsViewController animateView]; 
[self.tabBarController.view removeFromSuperview]; 
[UIView commitAnimations]; 

私が問題になるのは、フリップすると、上に非常に小さな白いバーが表示されます。この白いバーは、最初の画面であるメインビューからインフォメーションページへと反転し、逆のページには表示されません。

メインビューで私の全ページをカバーするUIImageがあるので、このバーを削除する方法が混乱しています。

これを解決する方法。

答えて

0

私は同じ問題を抱えていました。私はこれが3.1 OSのバグだと思います。 Appleにバグを報告してください。私の現在の回避策は、標準のスライドアップモーダルトランジションを使用することでした。最高の解決策ではありませんが、少なくともそれは奇妙に見えません。

+0

http://bugreport.apple.com/ – slf

0

ビューコントローラにwantsFullScreenLayoutを設定しましたか?

2

移行中にバーが表示される場合は、メインウィンドウの色を移行するビューと同じに変更します。または、それを完全に半透明にすることができます。同じことが可能です。

+0

である私は、メインウィンドウの色を変更した場合でもまあ、背景が通過しながら、バックグラウンドを意味変更されます。私は窓が同じ場所にとどまっている間に移行であるスクリーンでバーについて話しています。 – rkb

+0

2つのビューのディメンションは何ですか?そして、最初のビューにはtabBarがあり、インフォメーションビューにはないものはありますか?どちらかまたは両方のビューにステータスバーがありますか? – mahboudz

0

ステータスバーを表示しているかどうかはわかりませんが、UIImageのサイズが完全に表示されているかどうかを確認したい場合があります。また、移行時のキャッシュ設定をNOに設定して、違いがあるかどうかを確認してください。より多くのリソースを使用しますが、移行中にテキストフィールドが空白にならないようにするためにはそれを行わなければなりませんでした。

+0

はいUIImageは上部まで覆います。 – rkb

0

おそらく、これらのアニメーションをすべて自分で行うべきではありません。私はあなたの目標が何であるか正確には分かりませんが、 "pushModalViewController"というものを使用し、ビューとともに情報ページ用のコントローラを持つ方が簡単かもしれません。これは、アニメーションと関係がある可能性があるため、問題を解決する可能性があります。

次に、情報ページを終了すると、コントロールがナビゲーションコントローラに戻ります(これはあなたの望むものです)。私はこれが役立つことを願っています

0

私は同じパズル/謎/問題を抱えていた。しかし、

enter image description here

理由:モーダルビューからスイッチバックした後、基本的なビューが0.5秒間示した水色のステータスバーを、持っていました私はこのスクリーンショットを取った、私はそれがステータスバーではなく、ナビゲーションバーのいくつかの遠い残りの部分を認識した。

self.title = @""; 
self.navigationController.navigationBar.tintColor = [UIColor clearColor]; 
:私は、私はそれを半透明の色を与えていたなかったものをそのためのアプリデリゲートにナビゲーションバーをオフが、ここではまだ、唯一の遷移中(UIModalTransitionStyleFlipHorizo​​ntal移行後に何の青いバーがありませんでした)

世界で最も優れたソリューションではないかもしれませんが、アップルのバグではありません。

関連する問題