【问题标题】:How to write the ok button action in Objective-c?如何在 Objective-c 中编写确定按钮动作?
【发布时间】:2015-05-13 10:00:02
【问题描述】:

我是 的新手。我在对话框上创建了一个对话框和确定按钮。现在,我正在对对话框进行一些操作。之后,我想单击确定按钮关闭对话框。为此,我正在这样做

在 .h 文件中

@interface viewcontroller:NSViewController

@property (weak) IBOutlet NSButton *OkBtn;

@end

在 .m 文件中

“我不知道如何在.m文件中编写确定按钮的代码。我只想在单击确定按钮时关闭对话框。

【问题讨论】:

  • 你不能只使用 UIAlert 吗?

标签: xcode objective-c xcode macos


【解决方案1】:

不用创建 IBOutlet,你必须让IBAction 直接获取点击事件

看看这张图片...

这是我直接创建IBAction.m 文件

如果您想以编程方式提供点击事件,请关注@Nicolas Buquet 的回答

【讨论】:

  • +1 用于动画,但是有一些问题:1)你应该显示 Ctrl+拖动和 2)我不喜欢你命名方法的方式(更准确地说事实上,你间接影响了其他人(初学者)如何命名他们)。方法应该是行动。看着btnOk,我希望它是财产本身。它的方法应该命名为btnOkTapped:
【解决方案2】:

将此添加到您的代码中:

[OkBtn addTarget:self action:@selector(okButtonTapped:) forControlEvents:UIControlEventTouchUpInside];

并将此方法添加到您的类中:

- (void)okButtonTapped:(UIButton *)sender {
NSLog(@"Ok button was tapped: dismiss the view controller.");
}

当您点击按钮旁边并移开手指(“向上”部分)时,将调用okButtonTapped: 方法。

【讨论】:

  • 虽然正确,但我很少建议在 IBOutlet 上这样做。
【解决方案3】:

NSButton 创建IBAction。并将IBAction 连接到按钮。

在接口文件(.h)文件中写入,

- (IBAction) okButtonAction : (id) sender;

在你的实现文件(.m)中

- (IBAction) okButtonAction : (id) sender {
   NSLog(@"OK Button action here");
}

【讨论】:

    猜你喜欢
    • 2013-04-21
    • 2011-08-08
    • 2010-10-30
    • 2011-03-31
    • 1970-01-01
    • 1970-01-01
    • 2013-10-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多