그래서 내가 사용자를 물어보고 싶은 모달 시트에 첫 번째로 반응을 설정 : NSTextField있는과 시도 후 훨씬 더 기능모달 대화 상자에 시트, 무언가를 통해
class MyTextView : NSTextView {
override func viewWillDraw() {
dispatch_async(dispatch_get_main_queue()) {
self.window?.makeFirstResponder(self)
}
}
}
private func requestNotification() {
let alert = NSAlert()
alert.alertStyle = NSAlertStyle.InformationalAlertStyle
alert.messageText = "Enter your email address"
let urlField = MyTextView.init(frame: NSMakeRect(0,0,300,28))
let urlScroll = NSScrollView.init(frame: NSMakeRect(0,0,300,28))
urlScroll.hasVerticalScroller = true
urlScroll.autohidesScrollers = true
urlField.drawsBackground = true
urlField.editable = true
urlScroll.documentView = urlField
alert.accessoryView = urlScroll
alert.addButtonWithTitle("Send")
alert.addButtonWithTitle("Cancel")
alert.beginSheetModalForWindow(self.window!, completionHandler: { response in
if response == NSAlertFirstButtonReturn {
// Send
let view = (alert.accessoryView as! NSScrollView).documentView as! NSTextView
let text = view.string! as String
self.webViewController.loadAlmostURL(text)
}
})
}
합니다.
적어도 상호 작용은 입력으로 시작되지만 텍스트보기의 경계를 지정하고 싶습니다.
음, 하위 클래스라는 NSTextField있는을 내가 처음 응답자 수를하지만 뭔가 아니었다처럼 편집이 겹쳐 오른쪽으로로드; 나는 이것을 원본으로 업데이트 할 것이다. – slashlos
대신 NSTextView 사용; 그러나이 경우 스크롤보기에 삽입해야하는 또 다른 문제가 발생합니다. 수직 스크롤이 나타날 수 있도록 제약 조건이 필요합니다. – slashlos