如何在自定义类中创建`IBOutlet`或`IBAction`

时间:2012-01-21 17:47:40

标签: cocoa interface-builder ibaction iboutlet nsbutton

如何在考虑以下条件的情况下创建IBOutletIBAction

    必须在我的自定义类中创建
  • IBActionIBOutlet(继承自NSObject
  • NSButton实例在Interface Builder (XCode 4)
  • 中可见

简而言之,我想从按钮添加点击动作到我的班级。

任何帮助,谢谢:)

编辑19.02.2012

我在没有提供所需的所有数据的情况下提出问题......我只需要阅读更多的可可指南......

我想从其他范围中勾选出对我所知道的不可能的组件:(

2 个答案:

答案 0 :(得分:5)

看看Xcode 4附带的Apple的Cocoa教程文档,这对于Xcode / Cocoa /界面设计师模型来说是非常基础的!

概述:

@interface MyCustomClass

- (IBAction) myButtonClickAction:(id)sender;

@end

@implementation MyCustomClass

- (IBAction) myButtonClickAction:(id)sender
{
   NSLog(@"My button has been clicked");
}

@end

现在在界面设计器中(只需在Xcode中打开.xib文件即可获得设计器),您需要:

  1. 添加MyCustomClass的实例 - 从对象库中选择对象并将其拖到对象上(通常在lhs上)画布)或设计画布(它只会转到对象而不是在画布上创建图形小部件)。现在选择添加的 Object 并在 Inspector 中(通常在画布的rhs上)将类设置为MyCustomClass。现在,当您的应用程序启动时,将创建MyCustomClass的实例。
  2. 在设计画布上选择NSButton,在检查器中选择 Connections 标签。单击并从已发送操作下的选择器拖动到对象下的MyCustomClass。发布后,您将获得一个IBAction的菜单供您选择,请选择myButtonClickAction
  3. 您可能希望在应用程序委托中添加IBOutlet以链接到已创建的自定义对象实例,如果不这样做,则不会有直接访问它的方式。执行此操作的过程遵循与上面IBAction相同的模式。
  4. 就是这样,用文字(图片帮助),非常简短。

    现在去阅读那些教程!

答案 1 :(得分:0)

IBOutlet和IBAction只是Interface构建器用于将UIComponents及其操作连接到类(因此是前缀IB)的标志。这是所有用于 - 您不使用它们以编程方式将按钮与动作挂钩

如果要将按钮连接到某个操作,则需要对该按钮添加操作。

(不确定NSButton的语法,因为我是一名iOS程序员 - 但是搜索文档并且应该很清楚)