HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了根据用户是否注册/登录,通过segue过渡到某个ViewController. IOS大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要创建和应用程序,然加载不需要用户注册,但用户可以使用有限的应用程序的功能.如果用户注册/登录,我们需要向他显示更多功能.

条件:

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

我尝试这样做的方式:

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

有两个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.
    }
}

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

解决方法

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

解决方案在http://sandmoose.com/post/35714028270/storyboards-with-custom-container-view-controllers中详细说明,它是为iOS 6编写的,但应该使用如下故事板:

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

它利用了从View Controller中获得多个“Custom”segue来绕过单个’embed’segue限制的可能性.

完整项目(目标C中,但可轻松转换为Swift)可在此处获取https://github.com/mluton/EmbeddedSwapping.

ContainerViewController.m内容是魔术发生的地方,根据外部触发器交换可见视图.

大佬总结

以上是大佬教程为你收集整理的根据用户是否注册/登录,通过segue过渡到某个ViewController. IOS全部内容,希望文章能够帮你解决根据用户是否注册/登录,通过segue过渡到某个ViewController. IOS所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。