我正在尝试制定一些逻辑来将按钮从弹出框拖动到 self.view,我有两个不同的类,一个用于弹出框,其中我正在制作两个按钮,它们出现在弹出框中,另一个类是弹出框出现的类,当我在弹出框类中尝试拖动功能,它在弹出框内拖动按钮,但是当我通过委托执行选择器并将其发送到第二类进行拖动时,它崩溃了。我怎样才能将按钮从弹出窗口拖到另一个视图?
在 popover.h 文件中,我声明了这些方法:
@protocol popoverDelegate <NSObject>
-(void)multySoundRun12 : ( UIButton *)button;
@end
然后在 popover.m 文件中
UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(startPoint,3,imageW,imageH)];
[button setImage:keyBordImage forState:UIControlStateNormal];
[button addTarget:self action:@selector(keboardButtonPress:) forControlEvents:UIControlEventTouchUpInside];
-( void ) keboardButtonPress:(id)sender{
[delegate performSelector:@selector(multySoundRun12:) withObject:sender];
}
在 secondclass.h 文件中:
#import "popover.h"
@interface mode1ViewController : UIViewController< popoverDelegate ,UIPopoverControllerDelegate >{
UIPopoverController *popoverController;
}
在 secondclass.m 文件中:
-(void)multySoundRun12 : ( UIButton *)button{
[button addTarget:self action:@selector(draggedOut:withEvent:) forControlEvents:UIControlEventTouchDragInside];
[self.view addSubview:button];
}
-(IBAction)draggedOut: (id)sender withEvent: (UIEvent *) event {
UIButton *selected = (UIButton *)sender;
selected.center = [[[event allTouches] anyObject] locationInView:self.view];
}
它不工作请指导我哪里出错了?如果我做错了,我该如何以正确的方式做到这一点?它使 self.view 左上角的按钮副本和触摸结束,之后我可以从 self.view 的左上角拖动它,但我需要在一个事件中从它的真实位置拖动它。