我通过覆盖根视图控制器并将我的“主”视图控制器附加到它来使其工作。也许有更好的工作方式并做到这一点,这是一种方式。
在您的 AppDelegate 中(applicationDidFinishLaunch 方法)
- (BOOL)应用程序:(UIApplication *)应用程序 didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//用一个空的viewcontroller覆盖rootviewcontroller
window.rootViewController = [[UIViewController alloc] init];
//设置我的自定义视图控制器
MyViewController *vc = [[MyViewController alloc] init];
[vc setModalPresentationStyle:UIModalPresentationFullScreen];
[window.rootViewController addChildViewController:vc];
[window.rootViewController.view addSubview:vc.view];
// 放入所需的大小和位置。
vc.view.frame = CGRectMake(10.0, 100.0, 300.0, 100.0);
...
纯娱乐。如果您正在使用 StoryBoard 进行项目,则相同的过程但获取 StoryBoard 标识符。请注意,在这种情况下,您必须在 Interface Builder 中为您的主视图控制器设置 StoryBoard ID。
- (BOOL)应用程序:(UIApplication *)应用程序 didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
// 从您在 Interface Builder 中设置的故事板 ID 获取视图控制器
UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"MyMainViewController"];
[vc setModalPresentationStyle:UIModalPresentationFullScreen];
[window.rootViewController addChildViewController:vc];
[window.rootViewController.view addSubview:vc.view];
// 放入不想要的大小和位置。
vc.view.frame = CGRectMake(10.0, 100.0, 300.0, 100.0);
...