我遵循了“开始iPhone 3开发”中的一个示例,该示例将主视图控制器的代码放置在委托方法中,即选项卡栏。这是正确的地方,或者它应该在一个单独的.h和.m文件?我所有的子视图都在单独的文件中,所以我想知道是否应该将我的标签栏视图控制器代码放在单独的文件中。我应该将我的UITabBarController放在App Delegate之外吗?
此外,对于子视图,我将ViewDidLoad作为正常调用,但在委托方法中没有ViewDidLoad,我猜是因为它是NSObject类型而不是UIViewController。我应该将委托更改为UIViewController类型,以便我可以调用ViewDidLoad?
谢谢,我现有的应用程序代码示例如下。对于代表
头文件:
#import <UIKit/UIKit.h>
@interface MyAppDelegate : NSObject <UIApplicationDelegate, UITabBarControllerDelegate> {
UIWindow *window;
UITabBarController *rootController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UITabBarController *rootController;
@end
委托实现文件
#import "MyAppDelegate.h"
@implementation MyAppDelegate
@synthesize window;
@synthesize rootController;
- (void)applicationDidFinishLaunching:(UIApplication *)application {
// Add the tab bar controller's current view as a subview of the window
[window addSubview:rootController.view];
[window makeKeyAndVisible];
}
谢谢阿兰,文档很清楚。我应该找到的 – conorgriffin