Gup*_*R4c 2 xcode storyboard ios xcode4 ios5
我正在尝试创建一个iOS(特定于iPhone)的应用程序,用户必须在访问应用程序的其余部分之前进行身份验证.我正在使用Storyboard作为主要应用程序,看起来像这样(分成不同的行):
(1) -> NavigationController
(2) -(o-o)-> OfficesViewController
(3) -[<-]-> OfficeViewController
Run Code Online (Sandbox Code Playgroud)
我还有一个单独的XIB文件ScanOverlayViewController,OfficeViewController当用户按下按钮时,该文件以编程方式被推送.不确定将Storyboard和XIB混合在一起是否合适,但它到目前为止一直在工作.
无论如何,回到主题,我想把一个身份验证屏幕放在前面NavigaitonController,但我不知道如何.
我尝试在Storyboard中放置一个未链接的视图并将其设置为初始视图.然后我放了一个隐藏的按钮,然后做了一个segue NavigationController.在代码中,我尝试让控制器执行segue,但即使视图已正确显示,也不会实际执行seque.
然后,我尝试将身份验证视图设置为自己独立的XIB,并在应用程序委托中初始化控制器,并将其视图设置为应用程序委托的子视图.这只是导致应用程序直接进入OfficesViewController视图,好像我没有做任何事情.
是否有一种特定的方式来正确执行此操作,以便它与Storyboard一起使用?
提前致谢!
UPDATE
这是我当前的应用代表:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
AuthenticationViewController *authenticationViewController = [[AuthenticationViewController alloc] initWithNibName:@"AuthenticationViewController" bundle:nil];
if (authenticationViewController) {
NSLog(@"Should have generated %@", authenticationViewController);
};
[[[application keyWindow] rootViewController] presentModalViewController:authenticationViewController animated:YES];
return YES;
}
Run Code Online (Sandbox Code Playgroud)
控制器确实已经分配并初始化,但它没有显示出来.
有NavigaitonController作为初始视图控制器,然后模态呈现认证屏幕如果需要的话.你可以这样做-application:didFinishLaunchingWithOptions:.
混合XIB文件和故事板很好,无论如何,故事板变成了XIB(或nib)文件,它们只是有一些额外的元数据.混合搭配是有道理的.
例如:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if ([self needsAuthentication])
{
dispatch_async(dispatch_get_main_queue(), ^{
AuthVC *authVC = [[AuthVC alloc] init];
[[UIWindow keyWindow].rootViewController presentModalViewController:authVC animated:YES];
});
}
// anything else
return YES;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
910 次 |
| 最近记录: |