当我将 UISplitviewController 分配为应用程序的 Rootview 时工作正常,但现在我想将登录屏幕添加到我的应用程序中。有人可以帮助我提前感谢。
user2455507
问问题
841 次
4 回答
1
您可以将您的 LoginViewcontroller 添加为 Delegate 中的根视图控制器,并在 LoginScreen loginbutton 操作检查 userName 或 passowrd 如果它为真,那么您必须创建您的 Delegate 对象并将 rootviewconteroller 设置为您的 splitviewcontroller。像我的波纹管代码: -
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.viewController = [[LogInViewController alloc] initWithNibName:@"LogInViewController" bundle:nil];
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
return YES;
}
和你的 loginButton 动作:
-(IBAction)loginclick:(id)sender
{
objAppdelegate = (yourProjectnameDelegate *) [[UIApplication sharedApplication]delegate];
NSMutableArray *array = [NSMutableArray array];
HomeSpilitView = [[[UISplitViewController alloc] init]autorelease];
HomeMster = [[HomeSpilitViewController alloc] initWithNibName:@"HomeSpilitViewController" bundle:nil];
masterNavigationController = [[[UINavigationController alloc] initWithRootViewController:HomeMster] autorelease];
HomeMster.title=@"Title home";
masterNavigationController.navigationBar.tintColor =[UIColor colorWithRed:255/255.0 green:108/255.0 blue:61/255.0 alpha:0.1];
[array addObject:masterNavigationController];
HomeDetailsViewController *HomeDetailsViewControllers = [[HomeDetailsViewController alloc] initWithNibName:@"HomeDetailsViewController" bundle:nil];
detailNavigationController = [[[UINavigationController alloc] initWithRootViewController:HomeDetailsViewControllers] autorelease];
detailNavigationController.navigationBar.tintColor =[UIColor colorWithRed:255/255.0 green:108/255.0 blue:61/255.0 alpha:0.1];
HomeDetailsViewControllers.title=@"details title";
HomeMster.objHomeDetailsViewcontroller=HomeDetailsViewControllers;
HomeSpilitView.delegate = HomeDetailsViewControllers;
[array addObject:detailNavigationController];
[HomeSpilitView setViewControllers:array];
[objAppdelegate.window setRootViewController:HomeSpilitView];
}
更新 最后我使用波纹管代码完成了它: -
UIInterfaceOrientation interfaceOrientation = HomeSpilitView.interfaceOrientation;
NSString *subtypeDirection;
if (interfaceOrientation == UIInterfaceOrientationLandscapeLeft) {
subtypeDirection = kCATransitionFromTop;
}
else if (interfaceOrientation == UIInterfaceOrientationLandscapeRight) {
subtypeDirection = kCATransitionFromBottom;
}
else {
subtypeDirection = kCATransitionFromRight;
}
[objAppdelegate.window setRootViewController:HomeSpilitView];
CATransition *animation = [CATransition animation];
[animation setDuration:0.5];
[animation setType:kCATransitionPush];
[animation setSubtype:subtypeDirection];
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[[objAppdelegate.window layer] addAnimation:animation forKey:@"SwitchToView1"];
于 2013-06-06T12:55:13.827 回答
0
创建一个 newViewController 然后将其分配为根ViewController
在此newViewController
检查用户名和密码,如果正确,则加载您的splitsviewcontroller
或显示拒绝访问消息。
于 2013-06-06T12:48:38.253 回答
0
于 2013-06-06T12:55:49.953 回答
0
- 在导航控制器上创建您的注册、登录屏幕
当您想跳转到 SplitviewController 时,只需将其设置为根视图控制器即可。
#define ApplicationDelegate ((AppDelegate*)[[UIApplication sharedApplication] delegate]) SplitHomeViewController *objSplitHomeVC = VCWithIdentifier(@"SplitHomeViewController_iPad"); [ApplicationDelegate.window setRootViewController:(UIViewController*)objSplitHomeVC];
于 2015-07-17T07:23:30.937 回答