objective-c - cocoa :为什么事件没有进行?

标签 objective-c macos cocoa xcode4.3

NSLog(@"ss") 执行。为什么事件没有运行?

-(void)mouseUp:(NSEvent *)theEvent{
    switch (self.tag) {
        case 3:
            NSLog(@"ss");
            [self setAction:@selector(openurl:)];
            break;
        default:
            break;
    }
}

- (IBAction)openurl:(id)sender {
    [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"http://www.google.com/"]];
}

最佳答案

您的代码正在设置操作,但没有发送它。设置操作只是告诉控件在发生某些情况时要发送什么操作。而且由于您似乎也在重写 -mouseUp:,因此控件对鼠标按下的正常事件处理不会发生,并且可能永远不会发送该操作。

关于objective-c - cocoa :为什么事件没有进行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10382639/

相关文章:

c# - 如何在 NSGridView 或 NSTableView 中跨列

macos - CGContextShowTextAtPoint 的字体大小错误

ios - UIWebView 在后台更新我有一个 EXC_BAD_ACCESS

iphone - 在 c 方法中使用 drawInRect 不起作用

objective-c - 如何在 Objective-C 中为类动态添加方法?

macos - 使用 cocoa 检测挂起的系统关闭

xcode - 如何签署 Mac OS X 应用程序?

macos - 如何设置 NSTextView 中所有文本的颜色(而不仅仅是随后输入的文本)

Xcode 找不到 pod 库

android - 如何在跨平台应用程序中处理基于 UI 的导航?