Как я могу создать контент для поповера? - PullRequest
0 голосов
/ 15 января 2019

Я создаю расширение приложения Safari. Расширение включает всплывающее окно, которое появляется при нажатии на элемент панели расширения. Всплывающее окно содержит несколько кнопок, связанных с действиями, которые может выполнять пользователь. Я вижу popover, но popover не содержит контента. У меня тоже есть вид с авто макетом. И у меня нет сообщения об ошибке.

class SafariExtensionHandler: SFSafariExtensionHandler

    override func validateToolbarItem(in window: SFSafariWindow, validationHandler: @escaping ((Bool, String) -> Void)) {
        validationHandler(true, "")
    }

    override func popoverViewController() -> SFSafariExtensionViewController {
        return SafariExtensionViewController.shared
    }

    override func popoverWillShow(in window: SFSafariWindow) {
        let unauthorizedId = UserDefaults.standard.string(forKey: "unauthorizedId")
        let trelloToken = UserDefaults.standard.string(forKey: "token")

        window.getActiveTab { (activeTab) in
            activeTab?.getActivePage(completionHandler: { (activePage) in
                activePage?.getPropertiesWithCompletionHandler( { (properties) in
                    SafariExtensionViewController.shared.onPopoverVisible(token: token, unauthorizedId: unauthorizedId)
                })
            })
        }
    }

class SafariExtensionViewController: SFSafariExtensionViewController {

    @IBOutlet weak var signInBtn: NSButton!
    @IBOutlet weak var goBtn: NSButton!
    static let shared = SafariExtensionViewController()

    private var domain: String = "https://google.com"

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    func onPopoverVisible(token: String?, unauthorizedId: String?) {
        NSLog("safaripl pop \(String(describing: unauthorizedId)) \(String(describing: token))")
        if (token == nil && unauthorizedId == nil ) {
            self.signInBtn.isHidden = false
            self.goBtn.isHidden = true
        } else if (token == nil && unauthorizedId != nil) {
            self.signInBtn.isHidden = true
            self.goBtn.isHidden = false
        }
    }

    @IBAction func signInBtnClick(_ sender: Any) {
        Util.openUrlInSafari(url: "https://google.com")
    }

    @IBAction func goBtnClick(_ sender: Any) {
        Util.openUrlInSafari(url: "https://google.com")
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...