【问题标题】:nsbutton performClick not workingnsbutton performClick 不起作用
【发布时间】:2015-06-13 20:58:40
【问题描述】:

我有一个 NSButton btnOne,当用户点击按钮时,我想模拟点击另一个按钮 btnTwo。 btnTwo 有一个动作,点击时会显示一条消息。

- (IBAction)btnOneClicked:(id)sender
{
    [btnTwo performClick:self];
}

- (IBAction)btnTwoClicked:(id)sender
{
    NSLog(@"btnTwo clicked");
}

当我运行程序并单击 btnOne 时,performClick 似乎没有模拟对 btnTwo 的单击,因为没有显示任何消息。

我还尝试在 NSButton 子类中覆盖 btnTwo 的 performClick() 以显示消息。

-(void)performClick:(id)sender
{
   NSLog(@"performClick"); 
}

这也没有发生。消息未显示。

我做错了什么?

谢谢。

【问题讨论】:

    标签: nsbutton


    【解决方案1】:

    我知道这是一个迟到的答案,但迟到总比永不好,对吧? :)

    添加

    [super performClick:sender]
    

    在覆盖的 performClick 方法结束时。

    为什么它不首先调用 action 方法(不覆盖 performClick)是一个可能有很多问题的事情。按钮是否连接到它们的操作方法?

    【讨论】:

      【解决方案2】:

      我在我正在进行的项目中使用过。它对我有用。

      self.perform(#selector(HomeViewController.startCapure(_:)), with: self.btnStart)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多