登录成功后切换到另一个屏幕

时间:2018-08-31 04:22:39

标签: swift xcode macos safari-app-extension

我正在开发的应用程序的用例是,最初我将具有登录视图。当用户使用有效的凭据登录时,该用户应看到另一个视图,表示欢迎用户。我完全是新手,对xcode的了解不多。我从情节提要中看到了屏幕导航,但是我已经在xib中做了很多事情。

这就是我所做的

SafariExtensionViewController.swift

import SafariServices

class SafariExtensionViewController: SFSafariExtensionViewController {


    @IBOutlet weak var passwordMessage: NSTextField!
    @IBOutlet weak var emailMessage: NSTextField!
    @IBOutlet weak var message: NSTextField!
    @IBOutlet weak var email: NSTextField!
    @IBOutlet weak var password: NSSecureTextField!
    static let shared = SafariExtensionViewController()
    override func viewDidLoad() {
        self.preferredContentSize = NSSize(width: 300, height: 250)
        message.stringValue = ""
        emailMessage.stringValue = ""
        passwordMessage.stringValue = ""
    }


    @IBAction func userLogin(_ sender: Any) {
        let providedEmailAddress = email.stringValue
        let providedPassword = password.stringValue
        let isEmailAddressValid = isValidEmailAddress(emailAddressString: providedEmailAddress)
        self.message.stringValue = ""
        emailMessage.stringValue = ""
        passwordMessage.stringValue = ""
        if isEmailAddressValid && providedPassword.count > 0 {
            // api call is done here
            // when success should show another screen
        } else {
            emailMessage.textColor = NSColor.red
            emailMessage.stringValue = "Invalid Email"
        }
    }    
}

这是xib的屏幕截图。

enter image description here

使用的技术

迅捷4

xcode 9

不是IOS,主要用于应用扩展

更新

我不使用情节提要,也不是IOS。我正在使用xib,并且从macOS项目中尝试开发应用程序扩展,它将在浏览器中显示为扩展。

1 个答案:

答案 0 :(得分:0)

问题的发布还有很多时间,但对我其他人可能会有帮助(我正在将safari传统扩展移植到safari应用程序扩展中),并找到将NSTabView与表样式结合使用的方法:

enter image description here

用途是:

enter image description here

确保从媒体库中将NSObject添加到故事板上:

enter image description here

并从Outlet与tabview连接:

enter image description here

我是Cocoa和Swift的新手,如果有人知道更漂亮的路由解决方案,请与他人分享!

相关问题