Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 手指拖在屁股上_Iphone_Objective C_Cocoa Touch - Fatal编程技术网

Iphone 手指拖在屁股上

Iphone 手指拖在屁股上,iphone,objective-c,cocoa-touch,Iphone,Objective C,Cocoa Touch,假设有五个按钮并排排列,我需要知道如何使它们接受(称为)从外部到内部拖动每个按钮的边界 i、 就像钢琴一样,如果你拖动你的手指,每个按钮都会发出声音 谢谢您应该为每个按钮添加一个“拖动回车”事件处理程序-我不确定您是否可以在interface builder中执行此操作,但下面介绍如何在代码中执行此操作 将其放在viewDidLoad方法中: [button1 addTarget:self action:@selector(buttonEntered:) forControlEvents:UIC

假设有五个按钮并排排列,我需要知道如何使它们接受(称为)从外部到内部拖动每个按钮的边界

i、 就像钢琴一样,如果你拖动你的手指,每个按钮都会发出声音


谢谢

您应该为每个按钮添加一个“拖动回车”事件处理程序-我不确定您是否可以在interface builder中执行此操作,但下面介绍如何在代码中执行此操作

将其放在viewDidLoad方法中:

[button1 addTarget:self action:@selector(buttonEntered:) forControlEvents:UIControlEventTouchDragEnter];
[button2 addTarget:self action:@selector(buttonEntered:) forControlEvents:UIControlEventTouchDragEnter];
[button3 addTarget:self action:@selector(buttonEntered:) forControlEvents:UIControlEventTouchDragEnter];
[button4 addTarget:self action:@selector(buttonEntered:) forControlEvents:UIControlEventTouchDragEnter];
[button5 addTarget:self action:@selector(buttonEntered:) forControlEvents:UIControlEventTouchDragEnter];
然后

- (void)buttonEntered:(UIButton *)button {
    NSLog(@"Dragged into %@", button);
}
为您可以侦听的不同类型的控制事件创建一个列表

注意:本例假设您的.h文件中有以下内容:

@property (nonatomic, retain) IBOutlet UIButton *button1;
@property (nonatomic, retain) IBOutlet UIButton *button2;
@property (nonatomic, retain) IBOutlet UIButton *button3;
@property (nonatomic, retain) IBOutlet UIButton *button4;
@property (nonatomic, retain) IBOutlet UIButton *button5;

并在interface builder等中正确连接了它们。

您好,我在这里找到了答案:


+1问一个机智的问题:)你好,首先谢谢你的回答,其次我做了你写的,但我得到了2个警告,视图加载停止了,也许我忘了什么,你能帮我更多吗?plzI只能帮我,如果你告诉我警告是什么;)在void方法警告中,通过不兼容指针类型的“NSLog”的arrgument 1第二个警告:“AVAudioPlayer”可能不会响应“-addTarget:action:forControlEvents:”我做了你告诉我的事情,并且在.h文件中我写了你的void方法的签名第一个警告很简单,只是一个输入错误!我漏掉了一个“@”-我已经编辑了问题来修复它。第二个错误更复杂-看起来button1是一个AVAudioPlayer,而不是你的问题所暗示的UIButton。我的代码仅适用于从UIControl继承的对象,如UIbuttons等。AVAudioPlayer不是视图,因此我不知道如何将其放到屏幕上并期望其被触摸?