簡體   English   中英

如何在iOS 5中訪問標簽欄控制器?

[英]How to access tab bar controller in iOS 5?

在Xcode 4.2中,我從“選項卡式應用程序”模板創建了一個新項目。 現在,我想訪問AppDelegate中的選項卡欄控制器,但是缺少此屬性。 如何解決問題。

在以前版本的Xcode中,我可以通過調用self.tabBarController來訪問它,但是,在iOS 5中無法做到這一點。

在“選項卡式應用程序”模板項目中顯示的tabBarController屬性不會發生任何魔術。 我想iOS 5之前的模板是經過設計的,因此選項卡控制器已經設置為您的附加插座。 如果它不在您使用的模板中,那么您只需要自己添加屬性。 以下是有關如何執行此操作的說明。

你只需要添加一個屬性,然后抓住rootViewController從你UIWindowapplicationDidFinishLaunching 也就是說,您想要在應用程序委托標頭中添加以下內容:

@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;

您可以使用自己一直在使用的方法self.tabBarController訪問實現文件

只要確保它在實現文件中正確合成,然后在適當的方法主體中編寫代碼即可

對不起,但我不太清楚你的問題是什么

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM