2017-05-11 4 views
2

ソースコードでNSTextFieldを記述しました。しかし、NSTextFieldはクリック可能ではなく、キーボードイベントも機能しません。ココアでは、NSTextFieldは応答しません

open class SearchBarView: ViewWrapper, NSTextFieldDelegate { 
var textField: NSTextField! 

---- TextField init 
textField = NSTextField(frame: NSMakeRect(0, 0, 200, 60)) 
textField.isEditable = true 
textField.font = NSFont.systemFont(ofSize: CGFloat(28.0)) 
textField.textColor = NSColor.gray 
textField.isSelectable = true 
textField.delegate = self 

self.addSubview(self.textField) 

---- func 
open override func controlTextDidChange(_ notification: Notification) 
{ 
    Swift.print("asdasd") 
    let object = notification.object as! NSTextField 
    self.textField.stringValue = object.stringValue 
} 

enter image description here

は、どのように私はそれを修正するために、キーボードを得ることができますか?

+0

'ViewWrapper'とは何ですか?どちらのコントロールに焦点を当てていますか'isEnabled'は真ですか? – Willeke

+0

あなたはテキストフィールドを配置しているときはいつでもカスタムウィンドウを使用していますか? –

答えて

2

NSTextfieldを動作させるには、カスタムウィンドウを使用している場合、ウィンドウがkeyWindow()およびmainWindow()YESであるかどうかを確認してください。

- (BOOL)canBecomeKeyWindow { 
    return YES; 
} 
- (BOOL)canBecomeMainWindow { 
    return YES; 
} 

カスタムウィンドウがあるかどうかを確認してください。

+0

「ヴィクラム・シン」ありがとう! – Vallista

関連する問題