панель вкладок в приложении на основе представления в режиме Fift - PullRequest
0 голосов
/ 19 февраля 2011

хе,

Я задал похожий вопрос всего 3 дня назад, но он мне не помог, так что я снова здесь. Я сделал приложение на основе VIEW , чтобы оно не было приложением панели вкладок, и я хочу добавить к нему панель вкладок. В библиотеке разработчика я прочитал, как вы можете сделать это http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/TabBarControllers/TabBarControllers.html Я использовал учебник, как добавить панель вкладок с файлом пера. Но есть только одна проблема, связанная с тем, что в делегате приложения создается панель вкладок, и это не то, чего я хочу, я хочу, чтобы моя панель вкладок была не в главном, а в режиме быстрого просмотра.

Кто-нибудь знает решение, в интернете я читал что-то о том, как сделать это с помощью View Didload, или что-то в этом роде, но я мог бы это выяснить.

Я надеюсь, что кто-то может помочь мне с этим.

спасибо в любом случае.

1 Ответ

0 голосов
/ 20 февраля 2011

Мне кажется, я получил решение:

Сначала измените приложение базы просмотра на основанное на навигации:
Это ваш стандартный шаблон для основного пера: enter image description here

Сделай так:
enter image description here

Добавить UINavigationController. Откройте его и перетащите ViewBasedViewController поверх существующего контроллера в вашем UINavigationController.

Перейдите к своему делегату приложения:

@interface ViewBasedAppDelegate : NSObject <UIApplicationDelegate> {
    UIWindow *window;
    UINavigationController *navController;
}

@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UINavigationController *navController;
@end

@synthesize window;
@synthesize navController;


#pragma mark -
#pragma mark Application lifecycle

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
    [self.window addSubview:navController.view];
    [self.window makeKeyAndVisible];

    return YES;


 }

//Other code omitted
@end

Свяжите выход navController с контроллером навигации в вашей NIB.

Создайте новый класс, скажем, «TheTabBarController».

Добавьте это к вашему контроллеру на основе представления, чтобы добавить пятый контроллер:

- (IBAction) addFifthView:(id)sender {
    TheTabBarController *conn = [[TheTabBarController alloc] init];
    [self.navigationController pushViewController:conn animated:YES];
    [conn release];
}

Реализуйте TheTabBarController следующим образом:

@interface TheTabBarController : UITabBarController {

}

@end

@implementation TheTabBarController

- (void) viewDidLoad {
    UIViewController *dummy = [[UIViewController alloc] initWithNibName:@"Dummy" bundle:nil];
    dummy.title = @"Dummy title";
    dummy.view.backgroundColor = [UIColor redColor];

    UIViewController *otherDummy = [[UIViewController alloc] initWithNibName:@"Dummy" bundle:nil];
    otherDummy.title = @"Other dummy";
    otherDummy.view.backgroundColor = [UIColor blueColor];

    [self setViewControllers:[NSArray arrayWithObjects:dummy,otherDummy,nil]];

    [dummy release];
    [otherDummy release];
}
//Other code omitted
@end

Должно работать так.

...