在选项卡栏控制器之前显示一个login屏幕
我正在做一个Twitter应用程序,并在AppDelegate -didFinishLaunchingWithOptions
我使用下一代码加载login视图如果NSUserDefaults对象是空的:
NSUserDefaults * prefs = [NSUserDefaults standardUserDefaults];
NSString *test = [prefs objectForKey:@"username"]; if (test == @"(null)" || test == nil) { LoginScreenViewController *login = [[LoginScreenViewController alloc] initWithNibName:@"LoginScreenViewController" bundle:nil]; [self.window addSubview:login.view]; [self.window makeKeyAndVisible]; } else { [self.window addSubview:tabBarController.view]; [self.window makeKeyAndVisible]; }
而且我可以加载login视图,但是我怎么解雇呢? login屏幕必须在加载tabBarController之前显示出来,所以当login控制器完成时,标签栏控制器就开始了,就像之前没有任何其他视图一样。 提前致谢!
你可以加载你的标签栏相同,如果用户login或不(你的if语句的第二部分)
如果用户没有login,则可以将您的LoginScreenViewController显示为模式视图控制器。 这将位于标签栏控制器上方。
就像是
[self.window addSubview:tabBarController.view]; [self.window makeKeyAndVisible]; NSString *test = [prefs objectForKey:@"username"]; if (test == @"(null)" || test == nil) { LoginScreenViewController *login = [[LoginScreenViewController alloc] initWithNibName:@"LoginScreenViewController" bundle:nil]; [tabBarController presentModalViewController:login animated:YES]; }
我不确定这是否会解决您的问题,但不要使用==进行string比较。 使用NSString
类的compare:
方法。
if ([myNSStringObject compare:anotherNSStringObject] == NSOrderedSame) { //proceed with processing based on resultant matched strings } else { //proceed with processing based on resultant non-matched strings }
不知道这是否会有所作为,但随着程序变得越来越复杂,您可能会遇到麻烦,不这样做。
当login完成呼叫时:
[login.view removeFromSuperview]; [self.window addSubview:tabBarController.view];
应该只有一个属于UIViewController的UIView添加到窗口中,但是如果删除该视图,则可以添加另一个。
你可以提供loginview作为模型popup。 这是我正在做的。
loginView = [[[LoginViewController alloc] initWithNibName:@"LoginView" bundle:nil] autorelease]; UINavigationController* nav = (UINavigationController*)[tabBarController.viewControllers objectAtIndex:0]; loginView.navC = nav; [nav presentModalViewController:loginView animated:YES];
- 如何使用ReactiveCocoa 3实现基本的UITextFieldinput+ UIButton操作场景?
- NSMutableURLRequest和“请求身体stream枯竭”错误
- 在超类上调用-initWithFrame:
- 是否有一个可以在iOS 10中看到的卡片视图UI的公共API?
- iOS Facebooklogin“给定URL不被应用程序configuration允许”
- iOS – pushViewController vs presentModalViewController的区别
- 用于iOS的富文本编辑器库
- 如何添加UISlider到AVPlayer
- iPhone“滑动解锁”animation