Ios 在ipad中添加子视图以关闭应用程序窗口

Ios 在ipad中添加子视图以关闭应用程序窗口,ios,ipad,window,subview,Ios,Ipad,Window,Subview,我有一个ipad应用程序,我想在其中添加splitViewController。一旦加载LoginViewController,用户按“登录”按钮,下面的通知就会生效,但如果添加下面的代码,会发生什么情况呢?它会关闭应用程序,然后再次打开,然后显示出来 -(void)actionNotificationData:(NSNotification *)notification { [self.loginViewController removeFromSuperview]; UIWindo

我有一个ipad应用程序,我想在其中添加splitViewController。一旦加载LoginViewController,用户按“登录”按钮,下面的通知就会生效,但如果添加下面的代码,会发生什么情况呢?它会关闭应用程序,然后再次打开,然后显示出来

 -(void)actionNotificationData:(NSNotification *)notification {

 [self.loginViewController removeFromSuperview];


UIWindow* window = [UIApplication sharedApplication].keyWindow;
if (!window) 
    window = [[UIApplication sharedApplication].windows objectAtIndex:0];
[[[window subviews] objectAtIndex:0] addSubview:splitViewController];  

 }

removeFromSuperview
需要一个
UIView的
子类,而您正在传递一个
UIViewController

因此,如何解决这个问题,我正在添加的拆分视图控制器也是UIViewController。如何解决这个问题,您需要从窗口对象替换rootViewController。例如:
window.rootViewController=splitViewController
。我假设你的目标是iOS 4.0+。windwo.rootViewController=splitViewController放置在纵向和我的应用程序视图是横向如何修复它,而且我认为我们应该先删除loginView控制器,然后添加it@user2240329您问了一个关于如何用另一个控制器替换rootViewController的问题。如果你在肖像和风景方面有问题,请提出另一个问题
我认为我们应该先删除loginView控制器,然后添加它
,仔细阅读有关
rootViewController
的文档,您将改变您的观点。
 [self.loginViewController removeFromSuperview];