公開した『Aoica's Nihongo Tool』の製作にあたって、タイトルバーの無いウィンドウを作成したところ、Storyboard上でViewに配置したNSTextFieldにどうやってもフォーカスを合わせることができない(入力できない)という問題に突き当たりました。
ボタンは押せるのでウィンドウはアクティブであろうという仮定の元、調べた結果、canBecomeKeyというBOOLの変数がtrueだとキーウィンドウ(キー入力を受け付けるウィンドウ)になるということが分かりました。
問題点
![]() |
押せないNSTextField |
解決方法
NSWindowのサブクラスMyWindowを新たに作成し、canBecomeKey: BOOLのgetメソッドをoverrideし、常にtrueを返すようにすることで解決しました。もっと美しい(正しい)やり方があればコメント欄で教えてください...
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Created by aoica | |
// http://aoica.blogspot.jp/2017/01/tips.html | |
import Cocoa | |
class MyWindow: NSWindow { | |
// NSWindowのcanBecameKeyのgetをオーバーライド | |
override var canBecomeKey: Bool { | |
return true | |
} | |
} |
0 件のコメント:
コメントを投稿