【问题标题】:Delegate methods of NSTextField using NSNotification使用 NSNotification 委托 NSTextField 的方法
【发布时间】:2009-05-12 10:02:11
【问题描述】:

我在一个窗口中有一个 NSTokenField。我正在使用它来存储与核心数据对象相关的标签。现在我已经设置好了,我可以给对象添加标签,但我不能删除它们。我需要 NSTokenField 上的委托方法,它可以让我知道用户何时将焦点移出 NSTokenField。由于 NSTokenField 是 NSTextField 的子类,我想我可以使用它的委托方法。它有两个我认为可能有用的:

- (void)textDidChange:(NSNotification *)aNotification
- (void)textDidEndEditing:(NSNotification *)aNotification

我将我的控制器类设置为我的 NSTokenField 的委托,并将这两个方法都放入我的控制器类中。我将一个基本的 NSLog 放入其中,当我与 NSTokenField 交互时,它们都不会被触发。我猜它与 NSNotification 有关。如何激活这些方法?

【问题讨论】:

    标签: objective-c cocoa macos delegates


    【解决方案1】:

    NSTokenField 调用controlTextDidChange:controlTextDidEndEditing: 通知;改变上面的两个方法,实现为:

    - (void)controlTextDidChange:(NSNotification*)aNotification
    {
        //Code here..
    }
    
    - (void)controlTextDidEndEditing:(NSNotification *)aNotification
    {
        //Code here..
    }
    

    【讨论】:

      猜你喜欢
      • 2021-12-28
      • 2012-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多