我现在正在构建一个应用程序,该应用程序的95%是基于的SplitViewController
,它tableView
从另一个视图控制器的字符串中加载内容。现在,我将初始视图控制器作为SplitViewController
,但是一旦更改,此代码将在AppDelegate.m中引起问题:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
UISplitViewController *splitviewController = (UISplitViewController *)self.window.rootViewController;
UINavigationController *navigationController = [splitviewController.viewControllers lastObject];
splitviewController.delegate = (id)navigationController.topViewController;
return YES;
}
如果我将其删除,则SplitViewController
显然无法正常工作。我尝试了一下,只是想看看其他所有的东西是否都能正常工作。新的初始视图控制器已成功加载-但一旦我按下按钮以SplitViewController
再次模式化,则此代码归因于以下消息:
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
int main(int argc, char * argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
异常
由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'应用程序尝试以模态显示拆分视图控制器。
关于如何解决这个问题的任何想法?帮助将不胜感激!
编辑:
我发现了这一点:将splitView设置为应用程序的rootView,在启动时以模态方式显示singleView,并且只要需要关闭它即可让splitView拥有控制权。与让singleView呈现splitView具有相同的效果。
这也是我的想法。这是可行的解决方案,苹果公司会在测试期间批准它吗?
问题是您无法选择SplitViewController
。不幸的是,整个应用程序将需要基于SplitViewController
您拥有的应用程序,否则您将需要在没有控制器的情况下重新创建应用程序。
有关更多信息,请参见此问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句