如何从窗口加载和卸载UiviewController 当加载该应用程序时,我可以根据我在PLIST中设置的某些值加载该应用程序时创建了一些逻辑。 这就是我的代码的样子 - (bool)应用程序:( uiapplication *)

问题描述 投票:0回答:1
我希望能够加载和卸载UiviewControllers(包括使用按钮按下按钮等,从内存中删除。

我不想使用基于导航的控制器,因为我希望视图是静态的或个体的。 我正在寻找一些示例代码,将新的UiviewController加载到窗口中,然后删除旧的UiviewController.

无论我不确定正确处理此问题的正确方法,甚至不确定代码的外观。

对于我来说,这不是这样加载您的观点的好方法。
最好将rootviewController加载到您的AppDelegate中,并根据

RootViewController

中的PLIST添加当前视图:

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; }

ios objective-c uiview uiviewcontroller
1个回答
1
投票
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]; } }

	

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.