Я просмотрел это руководство и создал фотогалерею для iPhone. Теперь я хочу добавить его в свой проект TabBar. Я уже слышал, что Three20 не поддерживает XIB, поэтому я изменил настройку всей панели вкладок на программную. Думаю, я не так уж далек от окончательного решения.
Мне удалось заставить работать фотогалерею на одной вкладке, но без функций (нажмите на картинку -> она откроется и т. Д.). В верхней части страницы нет навигации, которая ведет к странице с подробным изображением. Я столкнулся с этим, когда удалил это из метода 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-код в loadView (), viewDidLoad () и init () в самом AlbumController, но безрезультатно. Кто-нибудь знает, где я должен это поставить, чтобы он заработал?
Мой 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:
- (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;
}
Спасибо, ребята, ура, дооонот