在Xcode 4.2中,我從「選項卡式應用程序」模板創建了一個新項目。現在我想訪問AppDelegate中的標籤欄控制器,但是此屬性丟失。如何解決問題。如何訪問iOS 5中的標籤欄控制器?
在以前版本的Xcode,我可以通過調用self.tabBarController訪問它,但是,我不能這樣做,在iOS的5
在Xcode 4.2中,我從「選項卡式應用程序」模板創建了一個新項目。現在我想訪問AppDelegate中的標籤欄控制器,但是此屬性丟失。如何解決問題。如何訪問iOS 5中的標籤欄控制器?
在以前版本的Xcode,我可以通過調用self.tabBarController訪問它,但是,我不能這樣做,在iOS的5
沒有什麼神奇與出現在tabBarController
財產發生「標籤的應用「模板項目。我猜iOS 5之前的模板是設計好的,以便選項卡控制器已經成爲你的附屬插座。如果它不在你使用的模板中,那麼你只需要自己添加屬性。以下是如何操作的說明。
你只需要爲它添加一個屬性,然後從UIWindow
的applicationDidFinishLaunching
中獲取rootViewController
。例如,你希望這樣的事情在你的應用程序代理頭:
@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
如果你就像使用4.2,我是相當肯定,對的appDelegate,其自動添加
@property (strong, nonatomic) UITabBarController *tabBarController;
ü可以用u've一直使用方法來訪問它的實現文件,self.tabBarController
只是確保它的正確的實現文件合成和u寫在適當的方法體
我很抱歉的代碼,但即時通訊不是很清楚你的問題是什麼
我正在使用故事板,沒有UITabBarController的屬性。 – user403015
然後,你可以很容易地將上面的屬性添加到頭文件中,至少當你不知道自己在做什麼時,不要拒絕你不明確的投票答案,這表明你缺乏尊重他人 –
你必須初始化UITabBarDelegate方法@interface MyAppDelegate:NSObject –
Hiren
你不*有*做到這一點。只有當你想成爲它的代表。 – mattjgalloway
@mattjgalloway,在iOS 5和Xcode 4.2中,我找不到MainWindow.xib並且正在使用故事板。你在使用Xcode 4.2嗎? – user403015