[英]How do I show a ViewController and then dismiss it to show a UISplitViewController?
當iPad
郵件應用程序中沒有帳戶設置時,它將打開郵件客戶端以供選擇? 選擇郵件客戶端后, UISplitViewController
模態方式關閉視圖控制器,並顯示UISplitViewController
。
我想在iPad
應用程序上工作,在該應用程序中,我必須先顯示ViewController
然后將其關閉以顯示UISpiltViewController
。 我想知道它是如何完成的。
我只能吃午飯UISplitViewController
首先將其設置為rootView控制器。 這是我的代碼
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
PopViewController * menuVC = [[PopViewController alloc] initWithStyle:UITableViewStyleGrouped];
UINavigationController * navMenue = [[UINavigationController alloc] initWithRootViewController:menuVC];
DetialViewController *delainVC =[[DetialViewController alloc] init];
UINavigationController * navdetail = [[UINavigationController alloc] initWithRootViewController:delainVC];
UISplitViewController *splitVC = [[UISplitViewController alloc] init];
splitVC.viewControllers = [NSArray arrayWithObjects:navMenue,navdetail, nil];
self.window.rootViewController = splitVC;
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
return YES;
}
我了解到,您必須始終將UISplitViewController
設置為rootViewController。 但是我的目標是在UISplitViewController
之前打開ViewController。 與沒有帳戶設置的iPad
郵件應用程序完全一樣。
因為-(void)viewDidLoad在-(void)viewDidAppear:(BOOL)animated之前被調用。 同時在視圖中打開沒有動畫的模態視圖控制器時加載方法。 解決了問題。 而且沒有UISplitViewcontroller的一瞥。 下面是代碼。 這段代碼應該放在detailview控制器中。
- (void)viewDidLoad
{
[super viewDidLoad];
[self checkLogIn];
}
編寫了一個函數來檢查用戶是否已經登錄
-(void) checkLogIn{
if(notLoggedIn){
ViewController * VC = [[ViewController alloc] init];
[self presentViewController:VC animated:NO completion:nil];
}
}
如果您從詳細視圖控制器的viewDidAppear方法呈現模態視圖控制器(不帶動畫),這將是您看到的第一件事。 例如,
-(void)viewDidAppear:(BOOL)animated {
if (notLoggedIn) {
UIViewController *modal = [self.storyboard instantiateViewControllerWithIdentifier:@"Blue"];
[self presentViewController:modal animated:NO completion:nil];
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.