根据用户是否注册登录,通过segue过渡到某个ViewController. IOS

根据用户是否注册登录,通过segue过渡到某个ViewController. IOS,第1张

概述我需要创建和应用程序,虽然加载不需要用户注册,但用户可以使用有限的应用程序的功能.如果用户已注册/登录,我们需要向他显示更多功能. 条件: 应用程序必须具有TabBarController,NavigationController和TableViewControleer. 语言:Swift,Xcode 6.4 我尝试这样做的方式: 我使用故事板添加控制器和segues. 有两个segue(类型:« 我需要创建和应用程序,虽然加载不需要用户注册,但用户可以使用有限的应用程序的功能.如果用户已注册/登录,我们需要向他显示更多功能.

条件:

应用程序必须具有TabbarController,NavigationController和tableVIEwControleer.
语言:Swift,Xcode 6.4

我尝试这样做的方式:

我使用故事板添加控制器和segues.

有两个segue(类型:«show(egpush)»),标识符为“registeredUser”,“notRegisteredUser”.
我编写了在NavigationController类的方法vIEwWillAppear中执行的代码.每当用户按下“设置”按钮时,它会检查用户是否已注册/登录.取决于此检查用户指向某个控制器的结果(如果他/她已注册/登录,则为绿色,否则为黄色).
我没有使用vIEwDIDLoad方法,因为用户可以随时按下“退出”按钮,应用程序必须立即将他指向黄色屏幕.

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

这样的解决方案只是消除了症状,但没有解决问题.

解决方法 这听起来像push segues不是你想要的.但是,嵌入segues仅限于一个Container VIEw,因此您需要插入一个中间VIEwController来处理哪个Container VIEw应该可见,具体取决于用户的注册状态.

该解决方案在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所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1004394.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存