Xcode/Interface Builder Mac App开发

use*_*546 0 macos nsmenuitem

好吧,我想从下拉菜单(菜单项列表)中的一个项目作为链接,在safari中打开一个网址/网站 - 就是这样.当这么简单时,为什么没有人在这里提出一个线索 - 我在Xcode中尝试了许多不同的方式,使用Apple Xcode Samples ...我想我需要一个AppDelegate.m,拖动或链接一些部分,获取动作..我没能把它带到某个地方 - 现在我迷路了.任何建议/帮助/链接/提示将非常感谢解决这个"简单"问题...

使用Xcode/Interface Builder 3.2.6 - 请帮助或我完全疯了,疯了,我现在将崩溃我的f ...现在 - 谢谢

Tim*_*Tim 5

如果您只是在Xcode中创建一个空的Cocoa项目并按照以下步骤操作它应该工作:

首先,在AppDelegate.h的界面部分中,输入以下行:

    -(IBAction)openLink:(id)sender;
Run Code Online (Sandbox Code Playgroud)

其次,在AppDelegate.m的实现部分中,输入以下行:

    -(IBAction)openLink:(id)sender
    {
        [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"http://www.stackoverflow.com"]];
    }
Run Code Online (Sandbox Code Playgroud)

第三,在方法和菜单项之间建立连接.在Interface Builder中执行此操作.有几种方法可以做到这一点,一个简单的方法是首先点击你想要连接的菜单项:

步骤1

然后转到IB窗口右侧的连接窗格:

在此输入图像描述

单击并按住说明"选择器"旁边的小圆圈,然后将鼠标向左拖动.它应该如下所示:

在此输入图像描述

将鼠标向左移动,直到指针位于IB左侧的"AppDelegate"项目上:

在此输入图像描述

现在(最后一步!)会弹出一个小窗口,询问您要将AppDelegate的哪个方法连接到菜单项.只需单击openLink:方法,您就完成了:

在此输入图像描述

如果您现在运行程序并单击已连接到openLink:方法的菜单项,则链接将在默认Web浏览器中打开(不一定是Safari).