2017-05-07 12 views
1

편집 : 이제는 온라인 웹 페이지를 열면 도움이되는 책을 열어야한다는 사실을 명확히하기 위해 제 질문이 분명하지 않았습니다.온라인 웹 페이지를 여는 NSAlert에 물음표 단추를 배치하는 방법은 무엇입니까?

도움말 리소스가있는 온라인 웹 페이지를 가리키는 macOS 프로젝트의 NSAlert에 물음표 버튼을 포함하고 싶습니다.

var에 showsHelp : 경고가 도움말 버튼이 있는지 여부를 BOOL 지정

나는 두 가지 가능성이 있다는 것을 here을 보았다.

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을 열려면 NSWorkspaceopen() 방법을 사용하십시오.

0

이 문서 또는 웹 사이트의 섹션으로 재 지정할 수 있습니다 도움 앵커를 설정 helpAnchor 속성을 사용

은이 코드를 사용합니다.

var에 helpAnchor 경고의 HTML 도움말 앵커. https://developer.apple.com/reference/appkit/nsalert/1534314-helpanchor

예 : URL이 HelpBook로 설정되어 있기 때문에 설정 작동되지

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

는이 참조 :

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

내장 된 물음표 단추는 인터넷 브라우저가 아니라 기본 제공 도움말 창 열기 만 지원합니다. 웹 브라우저에서 열립니다하려는 경우, 당신은 전체 사용자 정의 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