簡體   English   中英

我可以使Safari App Extension工具欄按鈕的文本徽章變得不太難看嗎?

[英]Can I make text badges for Safari App Extension toolbar buttons less ugly?

Safari App Extensions不允許您動態更改工具欄按鈕圖像,但是通過將字符串傳遞給擴展處理程序的validationHandler方法,它們確實允許您將按鈕的字符串添加為徽章

override func validateToolbarItem(in window: SFSafariWindow, validationHandler: @escaping ((Bool, String) -> Void)) {
        // This is called when Safari's state changed in some way that would require the extension's toolbar item to be validated again.
        validationHandler(true, "1")
    }

不幸的是,此標記文本看起來不太好:

在此處輸入圖片說明

我在文檔中找不到有關自定義標章文本外觀的任何內容,但以防萬一,有什么方法可以避免裁剪可能是圓形標章的內容?

我認為無法更改徽章文字的外觀。 但是,現在可以使用工具欄項的setImage方法動態設置按鈕圖像。

例如,在您的SFSafariExtensionHandler包含以下內容,將在單擊按鈕時將工具欄項目圖標更改為默認用戶圖標:

override func toolbarItemClicked(in window: SFSafariWindow) {
    let image = NSImage(named: NSImageNameUser)
    window.getToolbarItem { $0?.setImage(image) }
}

您可以提供任何NSImage ,盡管它應符合Apple的模板圖像准則

我不知道為什么您鏈接到的《 Safari應用程序擴展編程指南》中沒有對此進行說明。 我懷疑以后可能已添加了此功能,並且該指南已過時。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM