Ios 如何将按钮从弹出窗口拖动到self.view?

Ios 如何将按钮从弹出窗口拖动到self.view?,ios,objective-c,view,drag-and-drop,uipopovercontroller,Ios,Objective C,View,Drag And Drop,Uipopovercontroller,我试着做一些逻辑,把按钮从popover拖到self.view,我有两个不同的类,一个是popover,我在其中制作两个按钮,它出现在popover中,另一个类是popover出现在其中,当我在popover类中尝试拖动函数时,它会拖动popover中的按钮,但当我通过委托执行选择器并将其发送到第二个类中进行拖动时,它会崩溃。如何将按钮从popover拖到另一个视图 在popover.h文件中,我声明 这些方法: @protocol popoverDelegate <NSObject

我试着做一些逻辑,把按钮从popover拖到self.view,我有两个不同的类,一个是popover,我在其中制作两个按钮,它出现在popover中,另一个类是popover出现在其中,当我在popover类中尝试拖动函数时,它会拖动popover中的按钮,但当我通过委托执行选择器并将其发送到第二个类中进行拖动时,它会崩溃。如何将按钮从popover拖到另一个视图

在popover.h文件中,我声明 这些方法:

   @protocol popoverDelegate <NSObject>
   -(void)multySoundRun12 : ( UIButton *)button;
  @end
在secondclass.h文件中:

  #import "popover.h"
 @interface mode1ViewController : UIViewController< popoverDelegate ,UIPopoverControllerDelegate >{
   UIPopoverController *popoverController;
  }

它不起作用,请告诉我哪里出了问题?如果我做错了,我怎么能用正确的方式去做呢?它使self.view左上角的按钮复制结束,触摸结束后,我可以从self.view左上角拖动按钮,但我需要在一个事件中将其从实际位置拖动。

首先。在第“[delegate addTarget:self action:@selector(…”行中,“[delegate addTarget:self action:@selector:”委托是UIViewController类型。但UIViewController没有addTarget方法。这也是错误的。您对调用选择器使用performSelector,它需要两个参数,但不传递任何参数。在方法KeboardButton中,您需要按位于第二类视图上的on按钮吗?
  #import "popover.h"
 @interface mode1ViewController : UIViewController< popoverDelegate ,UIPopoverControllerDelegate >{
   UIPopoverController *popoverController;
  }
   -(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];
  }