【问题标题】:NSCollectionView stealing focus when selectable=YESNSCollectionView 在 selectable=YES 时窃取焦点
【发布时间】:2013-08-30 01:35:28
【问题描述】:

我在 Interface Builder 中创建了一个 NSView,其中包含两个控件,一个 NSCollectionView 和一个 NSTableView。当我的应用程序运行并将此视图附加到窗口时,焦点将正确设置在我的表格视图上并突出显示相应的行。但是,只要我打电话

[collectionView setSelectable:YES];

焦点将跳转到我的 NSCollectionView 并远离 tableview。让焦点回到我的表格视图的唯一方法是用鼠标单击它。

以下代码行都不起作用

[tableView becomeFirstResponder];
[[self.view window] makeFirstResponder:tableView];

有人有什么想法吗? 如果我在 IB 中也将集合视图设置为可选,则会发生这种情况。

【问题讨论】:

    标签: objective-c cocoa nstableview nscollectionview nscontrol


    【解决方案1】:

    好的,这段代码似乎“修复”了它,但它仍然看起来像一个可怕的 hack。我注意到,如果我在一段时间后将其设置为可选,它不会窃取焦点,所以现在我这样做了

    -(void) loadView {
        [super loadView];
        [self performSelector:@selector(responderFix) withObject:nil afterDelay:0];
    }
    -(void) responderFix {
        [collectionView setSelectable:YES];
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多