Xcode / Interface Builder Mac App开发

时间:2012-06-16 17:36:12

标签: macos nsmenuitem

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

使用Xcode / Interface Builder 3.2.6 - 请帮助或者我完全疯了,疯了,我现在会崩溃我的手机 - 谢谢

1 个答案:

答案 0 :(得分:5)

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

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

    -(IBAction)openLink:(id)sender;

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

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

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

Step 1

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

enter image description here

点击&按住说明“选择器”旁边的小圆圈,然后将鼠标拖到左侧。它应该是这样的:

enter image description here

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

enter image description here

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

enter image description here

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