Как получить доступ к контроллеру панели вкладок в iOS 5? - PullRequest
1 голос
/ 19 января 2012

В Xcode 4.2 я создал новый проект из шаблона «приложение с вкладками». Теперь я хочу получить доступ к контроллеру панели вкладок в AppDelegate, но это свойство отсутствует. Как решить проблему.

В предыдущей версии Xcode я мог получить к нему доступ, вызвав self.tabBarController, однако я не смог сделать это в iOS 5.

Ответы [ 2 ]

3 голосов
/ 19 января 2012

Никакого волшебства не происходит со свойством tabBarController, которое появляется в шаблонных проектах «Приложение с вкладками». Я предполагаю, что до iOS 5 шаблон был спроектирован так, что контроллер вкладок уже был настроен для вас как присоединенный выход. Если его нет в шаблоне, который вы используете, вам просто нужно добавить свойство самостоятельно. Ниже приведены инструкции, как это сделать.

Вам просто нужно добавить свойство для него и затем взять rootViewController из вашего UIWindow в applicationDidFinishLaunching. то есть вы хотите что-то подобное в заголовке делегата приложения:

@interface MyAppDelegate : NSObject <UIApplicationDelegate>
...
@property (nonatomic, strong) UITabBarController *tabBarController;
...
@end

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

@implementation MyAppDelegate

@synthesize tabBarController;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    self.tabBarController = (UITabBarController*)self.window.rootViewController;
    return YES;
}

@end
1 голос
/ 20 января 2012

если вы используете 4.2, я уверен, что в appDelegate, он автоматически добавляется

@property (strong, nonatomic) UITabBarController *tabBarController;

вы можете получить к нему доступ в файле реализации, используя метод, который вы использовали, self.tabBarController

просто убедитесь, что он правильно синтезирован в файле реализации, и вы пишете код в правильном теле метода

Извините, но я не совсем понимаю, в чем ваша проблема

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...