iphone - 将按钮的目标和选择器设置为多种方法

标签 iphone objective-c methods selector

我想在按下按钮时作为选择器响应添加多个方法。一个按钮可以有两个方法在按下按钮时被调用吗?

通过我的研究,我发现在 objective-C Programming Language Guide 中,一个按钮将调用所有与选择器同名的方法。

我希望我的按钮同时执行两个操作:

  1. 播放音频文件
  2. 在数组中显示 View 。

    UIBarButtonItem *play = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemPlay 目标:自己 Action :@选择器(播放:)];

感谢建议。

谢谢

最佳答案

@selector() 从字面上看只是返回一个 SEL 值,它只是一个名称(实际上,在幕后,它实际上是一个字符串)。它没有指定任何特定的行为。类选择在收到选择器时如何响应。

您当然可以让一个类实现一个做两件事的方法,并将该方法的选择器设置为控件的操作:

- (void)eatCakeAndIceCream {
    [self eatCake];
    [self eatIceCream];
}

您还可以通过重复调用 addTarget:action:forControlEvents: 向控件添加多个操作:

[someControl addTarget:self action:@selector(eatCake) forControlEvents:UIControlEventTouchDown];
[someControl addTarget:self action:@selector(eatIceCream) forControlEvents:UIControlEventTouchDown];

关于iphone - 将按钮的目标和选择器设置为多种方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9087700/

相关文章:

ios - 调用其他类的委托(delegate)方法

iphone - iPhone 3.0 SDK能否提供对蓝牙设备(耳机)的完全访问?

iphone - Three20:将表项链接到 ViewController

iphone - 在 UISplitViewController 中设置主视图的显示/隐藏启用,仅用于横向模式下的一个 View Controller

ios - 如何向 uiviewcontroller 添加圆角半径

java - 暂停方法

iphone - 我们可以在 UITextView 上执行哪些 addTarget 操作?

iphone - 使用的 iOS 版本分割

ios - UIPickerView:有没有办法阻止用户滚动到某一行?

python:常规方法和类方法之间的混合