2017-05-07 51 views
1

編輯:我的問題不是很清楚,現在我編輯它,以清楚說明我需要打開一個在線網頁,而不是幫助手冊。如何在打開在線網頁的NSAlert中放置問號按鈕?

我想在包含幫助資源的在線網頁的macOS項目中的NSAlert中包含一個問號按鈕。

我看到here有兩種可能性:

VAR showsHelp:BOOL指定的警報是否有一個幫助按鈕。

var helpAnchor:String?警報的HTML幫助錨點。

但我不知道如何實現它。

我用這個代碼:

@IBAction func buttonPressed(_ sender: Any) { 
    let myAlert: NSAlert = NSAlert() 

    myAlert.messageText = "Message" 
    myAlert.informativeText = "Informative text." 

    myAlert.showsSuppressionButton = true 

    myAlert.addButton(withTitle: "Later") 
    myAlert.addButton(withTitle: "Now") 
    myAlert.addButton(withTitle: "OK") 

    let choice = myAlert.runModal() 

    switch choice { 
    case NSAlertFirstButtonReturn: 
     print ("OK") 
    case NSAlertSecondButtonReturn: 
     print ("Now") 
    case NSAlertThirdButtonReturn: 
     print ("Later") 
    default: break 

    } 
    if myAlert.suppressionButton!.state == 1 { 
     print ("Checked") 
    } else { 
     print ("Not checked") 
    } 

} 
+0

您是否想要幫助按鈕打開您的應用程序的幫助手冊?或者你想讓它執行更加自定義的操作? –

+0

嗨,肯,我想打開一個在線頁面,而不是幫助手冊。我編輯了這個問題,使之更加清晰。 – Cue

回答

2

你應該讓你的控制器類遵守NSAlertDelegate。然後,設置myAlert.delegate = selfmyAlert.showsHelp = true。在你的控制器類中,執行func alertShowHelp(_ alert: NSAlert) -> Bool來做你喜歡的任何事情。

通常,要在用戶的默認瀏覽器中打開URL,請使用NSWorkspace及其open()方法。

0

使用helpAnchor屬性設置幫助錨,它可以重定向到文件或網站中的一個部分。

VAR helpAnchor 警報的HTML幫助下錨。 https://developer.apple.com/reference/appkit/nsalert/1534314-helpanchor

例子:

var alert = NSAlert() 
alert.messageText = "Testing" 
alert.helpAnchor = "https://google.com" 
alert.showsHelp = true 
alert.runModal() 

這是行不通的,因爲URL未設置爲HelpBook,以設置看到這一點:

https://developer.apple.com/library/content/documentation/Carbon/Conceptual/ProvidingUserAssitAppleHelp/using_ah_functions/using_ah_functions.html

爲了打開外部網站:

https://developer.apple.com/library/content/documentation/Carbon/Conceptual/ProvidingUserAssitAppleHelp/authoring_help/authoring_help_book.html#//apple_ref/doc/uid/TP30000903-CH206-CIHEAADH

請注意,內置問號按鈕僅支持打開內置幫助窗口,而不是Internet瀏覽器。如果你想打開一個網頁瀏覽器,你必須創建一個自定義的整體和NSAlert提供自己accessoryView

https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/Dialog/Articles/CustomAlertDialogs.html

+0

謝謝你的回答,但它不回答我的問題。其實我想知道如何打開一個在線網頁。我是這個領域的初學者,在鏈接的文檔中找不到如何執行此操作。 – Cue

+0

請參閱:https://developer.apple.com/library/content/documentation/Carbon/Conceptual/ProvidingUserAssitAppleHelp/authoring_help/authoring_help_book.html#//apple_ref/doc/uid/TP30000903-CH206-CIHEAADH 「打開外部幫助查看器中的網頁「 – Oskar