我不想使用基于导航的控制器,因为我希望视图是静态的或个体的。 我正在寻找一些示例代码,将新的UiviewController加载到窗口中,然后删除旧的UiviewController.
无论我不确定正确处理此问题的正确方法,甚至不确定代码的外观。
对于我来说,这不是这样加载您的观点的好方法。 最好将rootviewController加载到您的AppDelegate中,并根据RootViewController
:
Appdelegate- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
RootViewController *rootViewController = [[RootViewController alloc] initWithNibName:@"RootViewController" bundle:nil];
self.window.rootViewController = rootViewController;
[self.window makeKeyAndVisible];
return YES;
}
RootViewController
添加当前视图的子视图之后,具体取决于您的PLIST:
ROOTVIEWCONTROLLER.M
#pragma mark - View management
- (void)viewDidLoad
{
[super viewDidLoad];
NSDictionary *prefsDictionary = [prefsController readPrefs];
NSLog(@"%@", prefsDictionary);
NSString *projectListBoolString = [prefsDictionary objectForKey:@"ProjectListAvailable"];
NSString *installsBoolString = [prefsDictionary objectForKey:@"InstallsAvailable"];
NSString *finishinBoolString = [prefsDictionary objectForKey:@"FinishingAvailable"];
if (([projectListBoolString isEqualToString:@"T"]) && ([installsBoolString isEqualToString:@"F"]) && ([finishinBoolString isEqualToString:@"F"])) {
self.getProjectListViewController = [[GetProjectListViewController alloc] initWithNibName:@"GetProjectListViewController" bundle:nil];
// Add View Controller
[self.view addSubview:self.getProjectListViewController.view
}
else if (([projectListBoolString isEqualToString:@"T"]) && ([installsBoolString isEqualToString:@"T"]) && ([finishinBoolString isEqualToString:@"T"])) {
self.currentProjectListViewController = [[CurrentProjectListViewController alloc] initWithNibName:@"CurrentProjectListViewController" bundle:nil];
// Add View Controller
[self.view addSubview:self.currentProjectListViewController.view];
}
else {
self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
// Add View Controller
[self.view addSubview:self.viewController.view];
}
}