Iphone Objective-c在我的控制器中添加子视图
我有一个应用程序与代表,控制器和其他一些事情。问题是我用init初始化控制器中的所有内容。这个初始化创建了3个UIView(openGL、imagepickerview和一个MKMapView),我希望这些视图被添加到窗口中,所以它们位于其他视图之上。然而,不知何故,它只绘制了3个视图中的一个,即imagePickerView。这是代表:Iphone Objective-c在我的控制器中添加子视图,iphone,objective-c,uiview,subview,Iphone,Objective C,Uiview,Subview,我有一个应用程序与代表,控制器和其他一些事情。问题是我用init初始化控制器中的所有内容。这个初始化创建了3个UIView(openGL、imagepickerview和一个MKMapView),我希望这些视图被添加到窗口中,所以它们位于其他视图之上。然而,不知何故,它只绘制了3个视图中的一个,即imagePickerView。这是代表: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window.rootViewController = self.viewController;
viewController = [[ARInvadersViewController alloc] initWithWindow:self.window];
return YES;
}
这里是控制器:
-(id)initWithWindow:(UIWindow *)_window{
self.window = _window;
// ...
// Some code here
// ...
[self.window addSubview:imagePickerController.view];
[self.window addSubview:self.glView];
[self.window addSubview:mapView];
[self.window makeKeyAndVisible];
}
我做得好吗 假设您的所有视图都是单个屏幕的一部分,在使用viewController设置窗口后,您无需向窗口添加任何内容。设置viewController,然后在该控制器的视图上添加下一个视图 e、 g.在您的
AppDelegate
中:
[self.window addSubview:self.viewController.view];
[self.window makeKeyAndVisible];
然后在视图控制器中
:
- (void)viewDidLoad {
[super viewDidLoad];
// blah blah blah
[self.view addSubview:imagePickerController.view];
[self.view addSubview:self.glView];
[self.view addSubview:mapView];
}
请注意,
init
方法通常用于初始化值,viewDidLoad
通常用于设置视图。为什么不让我这样做:(self.window.rootViewController=self.viewController;)
在委托中?似乎我无法访问self.viewcontroller它说EXC\u访问错误