通常の場合、この画像のように、ファーストレスポンダとなる NSTextField オブジェクトの外側に青色の長方形が表示されます:
通常の場合のリンク
ただし、外側に青い境界線がない NSTextField を取得しました。何故ですか?
1> 典型的な MAC OS アプリを作成します
。
2> 対応するビューのaddSubview:およびremoveFromSuperviewメソッドを呼び出して、アプリのサブビューを切り替えます。
3> 1 つのサブビュー (実際には上記の画像) で、[次へ] ボタンをクリックします。そのアクションは次のようなものです (サブビューのコントローラー .m ファイルで定義されています)。
- (IBAction)actionNextClicked:(id)sender{
//_hdlThreadNext is a NSThread object
[[_hdlThreadNext alloc] initWithTarget:self selector@selector(threadNext:) object:nil];
[_hdlThreadNext start];
}
そして、スレッドは次のようになります。
- (void)threadNext:(id)sender{
@autoreleasepool{
BOOL success;
[CATransation begin];
/* send username and password and decrypt responce */
... // balabala... and set "success"
if (success){
[[self view] removeFromSuperview];
[self sendMessageToSuperview:@"Add Next View"]; // Superview's method, telling superview to call addSubview: to add another subview
}
else{
/* Nothing special to do */
}
[CATransation commit];
}
}
4>サブビューが別のものに切り替わります。そのコンボ ビューは問題ないように見えました:コンボ ビューの画像
しかし、もう 1 つの NSTextView の青い境界線はもう表示されません。
私が何をしたのか知っている人はいますか?どうもありがとうございました!