UIviewController中未调用的按钮操作

时间:2016-12-08 10:14:20

标签: ios objective-c uibutton

我有一个UIView类,我在其中创建了一个按钮动作,动画我现在在我自己的View控制器中滑动的卡片我已经创建了一个PopUpView .PopUp有Yes和No Button我想调用那些向右或向左动作popUpView按钮。

-(void)rightClickAction{

     CGPoint finishPoint = CGPointMake(600, self.center.y);
     [UIView animateWithDuration:0.3
                     animations:^{
                         self.center = finishPoint;
   self.transform = CGAffineTransformMakeRotation(1); 
                     }completion:^(BOOL complete){
                         [self removeFromSuperview];
                     }];
    [delegate cardSwipedRight:self];

    NSLog(@"YES");

 }

 -(void)leftClickAction{
      CGPoint finishPoint = CGPointMake(-600, self.center.y);
      [UIView animateWithDuration:0.3
                     animations:^{
                         self.center = finishPoint;
self.transform = CGAffineTransformMakeRotation(-1);
                     }completion:^(BOOL complete){
                         [self removeFromSuperview];
                     }];

    [delegate cardSwipedLeft:self];
    NSLog(@"NO");
 }

我需要做什么才能将其称为

中的ViewController
 -(IbAction)actionYes{
        [draggableView rightClickAction];
    }

-(IBAction)actionNo{

     }

它不起作用。

我怎样才能实现这一点。

3 个答案:

答案 0 :(得分:0)

我最近遇到过一个uicontrol子类事件的情况也没有调用过。

以下事项可能会对您有所帮助。

1.在xib或storyboard中检查视图和ibaction的连接。

2.检查按钮子视图的userinteraction属性。

3.检查按钮上是否有任何手势。

4.检查视图控制器是否已解除分配。

答案 1 :(得分:0)

您必须使用DraggableViewBackground实例而不是DraggableView实例。

试试这段代码 -

-(IbAction)actionYes{
        [draggableBackground swipeRight];
    }

答案 2 :(得分:0)

你的意思是你不能拖动一条线来连接按钮与IBAction方法,对吧?我认为这是因为你的按钮是在你的popupView中定义的,而不是视图控制器。你的视图控制器不是按钮的所有者,所以你不能在控制器中调用该方法。尝试在Viewcontroller中定义你的按钮,而不是在你的popupView中,它可能会起作用