我想在按下按钮时作为选择器响应添加多个方法。一个按钮可以有两个方法在按下按钮时被调用吗?
通过我的研究,我发现在 objective-C Programming Language Guide 中,一个按钮将调用所有与选择器同名的方法。
我希望我的按钮同时执行两个操作:
- 播放音频文件
在数组中显示 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/