高度な検索
Developer Connection
Member Login ログイン | ご入会 ADC連絡先

Technical Q&A QA1142
Preventing crashes when using multiple disabled but editable NSComboBoxes


Q: Mac OS X 10.1.x では、無効にしているけれども編集可能な状態の NSComboBox がビューの中に 2 つ以上あるとき、その 1 つをクリックすると、作成した Cocoa アプリケーションがクラッシュします。どのようにしたらこれを防ぐことができるのでしょうか?

A: これは、次の Mac OS X のメジャーリリースで修正しなければならないバグです。回避方法は、かなり簡単です。リスト 1 で示すように、-acceptsFirstResponder をオーバーライドする NSComboBox のサブクラスを使います。



 @implementation MyComboBox
- (BOOL) acceptsFirstResponder {
       if ([self isEnabled] || NSAppKitVersionNumber>=636)
       return [super acceptsFirstResponder];
       else
    return NO;
}
@end

リスト 1 NSComboBox バグの修正




[2002 6 月 3 日]