防止加载或显示视图

时间:2014-09-20 04:17:01

标签: ios swift

我有一个标签栏控制器作为我的应用程序的起点,其中一个标签和随后发生的内容仅适用于管理员。所以我是密码保护标签。我想在我的视图控制器的viewDidLoad函数中添加一个小模态对话(顺便说一下是UITableViewController),

假设我可以在变量inputTextField的对话框中输入用户输入的文本。

viewDidLoad()代码的相关部分:

if inputTextField?.text != "secret" {
    return
} 
super.viewDidLoad()

但它不起作用。任何暗示赞赏。对不起,如果它太基础了,我对iOS和Swift编程完全不熟悉,所以请原谅我无知的人。

1 个答案:

答案 0 :(得分:1)

这是一个简单的例子。很多方法。我在第一个标签的VC上在Storyboard中删除了两个UIViews。在后面的那个我给了一个深色来模拟隐藏的秘密视图(secretView)。在顶部视图(entryView)内部,我拖动了一个标签“输入密码”和一个文本字段(passCode)。我只是隐藏了后视图,除非密码是正确的。

import UIKit

class FirstViewController: UIViewController, UITextFieldDelegate {

    override func viewDidLoad() {
        super.viewDidLoad()
        self.passCode.delegate = self
        entryView.hidden = false
        secretView.hidden = true
    }


    @IBOutlet weak var entryView: UIView!
    @IBOutlet weak var secretView: UIView!
    let secretCode = "X"

    @IBOutlet weak var passCode: UITextField!


    func textFieldShouldReturn(textField: UITextField!) -> Bool {

        if textField.text == secretCode {

            entryView.hidden = true
            secretView.hidden = false

        } else {

            self.passCode.text = "Try Again!"
        }

        textField.resignFirstResponder()
        return true
    }
}