大佬教程收集整理的这篇文章主要介绍了根据用户是否注册/登录,通过segue过渡到某个ViewController. IOS,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
条件:
应用程序必须具有TabBarController,NavigationController和TableViewControleer.
语言:Swift,Xcode 6.4
我尝试这样做的方式:
有两个segue(类型:«show(egpush)»),标识符为“registeredUser”,“notRegisteredUser”.
我编写了在NavigationController类的方法viewWillAppear中执行的代码.每当用户按下“设置”按钮时,它会检查用户是否已注册/登录.取决于此检查用户指向某个控制器的结果(如果他/她已注册/登录,则为绿色,否则为黄色).
我没有使用viewDidLoad方法,因为用户可以随时按下“@L_944_22@”按钮,应用程序必须立即将他指向黄色屏幕.
class NavigationController:UINavigationController { var userisregistred:Bool! override func viewDidLoad() { super.viewDidLoad()} override func viewWillAppear(animated: Bool) { userisregistred = UserAccauntUtil.userRegistrationcheck() if (userisregistred == false ) { self.performSegueWithIdentifier("notRegisteredUser",sender: self) } else if(userisregistred == true ){ self.performSegueWithIdentifier("registeredUser",sender: self) } } }
我遇到的问题:
加载应用程序后,按下“设置”按钮,第一次将我重定向到所需的控制器(一切正常),但是当我按“收藏夹”而不是“设置”时,再次执行viewWillAppear中的代码并且再次将我引导至黄色控制器,并在NavBar中的topleft上显示“BACk”按钮/箭头.因此,我有许多控制器和一个后退按钮.
我只需要一个转换执行,而用户应该看到所有控制器:TabBarController,NavigationController.
也许还有另一种方法来完成这样的任务.我将不胜感激任何有用的信息和建议.
坏/简单的解决方案:
使用NotRegistedUser.swift中的代码删除“后退”按钮
class RegisteredUser: UITableViewController { override func viewDidLoad() { super.viewDidLoad() self.navigationItem.setHidesBACkButton(true,animated:falsE); } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } }
该解决方案在http://sandmoose.com/post/35714028270/storyboards-with-custom-container-view-controllers中详细说明,它是为iOS 6编写的,但应该使用如下故事板:
它利用了从View Controller中获得多个“Custom”segue来绕过单个’embed’segue限制的可能性.
完整项目(目标C中,但可轻松转换为Swift)可在此处获取:https://github.com/mluton/EmbeddedSwapping.
ContainerViewController.m的内容是魔术发生的地方,根据外部触发器交换可见视图.
以上是大佬教程为你收集整理的根据用户是否注册/登录,通过segue过渡到某个ViewController. IOS全部内容,希望文章能够帮你解决根据用户是否注册/登录,通过segue过渡到某个ViewController. IOS所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。