2

我正在尝试制定一些逻辑来将按钮从弹出框拖动到 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 的左上角拖动它,但我需要在一个事件中从它的真实位置拖动它。

4

0 回答 0