2010-12-30 13 views
3

私のiPhoneアプリに写真ビューアが欲しく、Three20 photo viewerが好きだった。私はそれが私の典型的なUINavigationViewControllerを持っている自分のアプリケーションにそれを統合するのは何とか難しいことがわかった。これまでのところ私は、次の操作を行うことに成功しました:私のUINavigationViewControllerにThree20 PhotoViewerを追加するときの問題

TTURLMap *map = [[[TTURLMap alloc] init] autorelease]; 
[map from:@"tt://appPhotos" toSharedViewController:[PhotoViewController class]]; 
[self.navigationController pushViewController:[map objectForURL:@"tt://appPhotos"] animated:YES]; 

唯一の問題は、私は私の元の表示に戻す]をクリックしwennは、そのナビゲーションバーは、フォトビューアのスタイルを保持します(transperantを、その下に図を示している)ということです。 元のナビゲーションバーを元に戻すにはどうすればよいですか?

答えて

1

はい、これは確かに少し問題です。 @diwupの説明のように、良い解決策は、手動修正を実装することです。私はTTPhotoViewerを必要時にサブクラス化する傾向があります。この問題に役立つだけでなく、私が見つけたものを使うのがずっと簡単になります。

あなたがサブクラス化することを決定した場合、その後、あなたはあなたが必要とする以下のどんな変化使用する必要があります:あなたがサブクラス化したくない場合は、あなたがいつもにコードを置くことができる

- (void)viewWillDisappear:(BOOL)animated { 
[super viewWillDisappear:animated]; 
self.navigationController.navigationBar.barStyle = UIBarStyleBlack; 
self.navigationController.navigationBar.tintColor = myTintColor; 
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault]; 
} 

を - [viewWillAppear:]写真ビューアの後にくるクラスのメソッドです。

2

私の経験:3倍のPhotoViewerを使用していましたが、PhotoViewerから別のビューに戻るたびに使用しました。システムステータスバーは黒色で透過的でした(デフォルトのスタイルでなければなりません)。バックアクションがトリガされるたびに、ステータスバーのスタイルを手動でプログラムで変更して解決しました。

関連する問題