このチュートリアルを読み、iPhone用のフォトギャラリーを作成しました。次に、それをTabBarプロジェクトに追加します。Three20はXIBをサポートしていないと聞いたので、タブバーの設定全体をプログラムで変更しました。私は最終的な解決策からそれほど遠くないと思います。
フォトギャラリーを1つのタブで機能させることができましたが、機能はありません(写真をクリック->開くなど)。詳細画像ページに移動するページ上部のナビゲーションはありません。これをdidFinishLaunchingWithOptionsから削除したときに直面しました-アプリデリゲートのメソッド:
// Override point for customization after application launch
TTNavigator* navigator = [TTNavigator navigator];
TTURLMap* map = navigator.URLMap;
[map from:@"demo://album" toViewController: [AlbumController class]];
[navigator openURLAction:[TTURLAction actionWithURLPath:@"demo://album"]];
return YES;
タブバー全体が表示されないため、削除する必要がありました。フォトギャラリーは画面全体を使用します。表示されていないのか、ロードされていないのかわかりません。私も試しました:
tabbar.hidesBottomBarWhenPushed = NO;
しかし、それはまったく機能しませんでした。TTNavigatorコードをAlbumController自体のloadView()、viewDidLoad()、init()に追加しようとしましたが、結果はありませんでした。それを機能させるために私がこれをどこに置かなければならないか誰かが知っていますか?
私のAlbumController.h:
#import <Foundation/Foundation.h>
#import <Three20/Three20.h>
@interface AlbumController : TTThumbsViewController {
// images
NSMutableArray *images;
// parser
NSXMLParser * rssParser;
NSMutableArray * stories;
NSMutableDictionary * item;
NSString * currentElement;
NSMutableString * currentImage;
NSMutableString * currentCaption;
}
@property (nonatomic, retain) NSMutableArray *images;
@end
そして、didFinishLaunchingWithOptions-methodの私の実装:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// set up tab bar controller
tabBarController = [[UITabBarController alloc] init];
albumController = [[AlbumController alloc] init];
firstViewController = [[FirstViewController alloc] init];
secondViewController = [[SecondViewController alloc] init];
firstViewController.delegateRef = self;
tabBarController.viewControllers = [NSArray arrayWithObjects:firstViewController, secondViewController, albumController, nil];
[window addSubview:tabBarController.view];
[window makeKeyAndVisible];
// Override point for customization after application launch
TTNavigator* navigator = [TTNavigator navigator];
TTURLMap* map = navigator.URLMap;
[map from:@"demo://album" toViewController: [AlbumController class]];
[navigator openURLAction:[TTURLAction actionWithURLPath:@"demo://album"]];
return YES;
}
ありがとうみんな、乾杯、ドゥーノット