Iphone 用户按下按钮后如何激活运动抖动?

Iphone 用户按下按钮后如何激活运动抖动?,iphone,ios,xcode,button,motion,Iphone,Ios,Xcode,Button,Motion,可能重复: 你好,我正在创建一个应用程序,我需要帮助。这个问题我已经问过两次了,但我没有得到正确的答案,要么是指导工作,要么是那个人没有意识到我是一个完全的初学者。所以在回答之前,请解释一下答案,因为我对Xcode非常陌生。所以我有一个按钮说播放,现在当你点击它时,一个动画会平滑地出现,然后结束。我需要改变的是,当用户按下play时,标签上写着“摇晃设备启动”。然后,当用户摇动设备时,标签消失,动画播放并结束,这就是我到目前为止在viewcontroller.m文件中看到的内容: -(IBAc

可能重复:

你好,我正在创建一个应用程序,我需要帮助。这个问题我已经问过两次了,但我没有得到正确的答案,要么是指导工作,要么是那个人没有意识到我是一个完全的初学者。所以在回答之前,请解释一下答案,因为我对Xcode非常陌生。所以我有一个按钮说播放,现在当你点击它时,一个动画会平滑地出现,然后结束。我需要改变的是,当用户按下play时,标签上写着“摇晃设备启动”。然后,当用户摇动设备时,标签消失,动画播放并结束,这就是我到目前为止在viewcontroller.m文件中看到的内容:

-(IBAction)startanimation {





animation.animationImages= [NSArray arrayWithObjects:
                                [UIImage imageNamed:@"Frame0.png"],
                                [UIImage imageNamed:@"Frame1.png"],
                                [UIImage imageNamed:@"Frame2.png"],
                                [UIImage imageNamed:@"Frame3.png"],
                                [UIImage imageNamed:@"Frame4.png"],
                                [UIImage imageNamed:@"Frame5.png"],
                                [UIImage imageNamed:@"Frame6.png"],
                                [UIImage imageNamed:@"Frame7.png"],
                                [UIImage imageNamed:@"Frame8.png"],
                                [UIImage imageNamed:@"Frame9.png"],
                                [UIImage imageNamed:@"Frame10.png"],
                                [UIImage imageNamed:@"Frame11.png"],
                                [UIImage imageNamed:@"Frame12.png"],
                                [UIImage imageNamed:@"Frame13.png"],
                                [UIImage imageNamed:@"Frame14.png"], 
                                nil];

    [animation setAnimationRepeatCount:1];
    animation.animationDuration = 1;
    [animation startAnimating];



}
顺便说一下,IBAction:startanimation是用户按下“播放”按钮时的动作

请考虑我是初学者编码,如果你有任何问题可以问,谢谢! 方法

- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event;
- (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event;
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event;
您只需使用以下代码:

- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event {
  if (event.type == UIEventSubtypeMotionShake) {
    //Your code here
  }
}
方法

- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event;
- (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event;
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event;
您只需使用以下代码:

- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event {
  if (event.type == UIEventSubtypeMotionShake) {
    //Your code here
  }
}

在头文件(.h)中添加以下内容

也更改开始动画

-(IBAction)startanimation 
{
    canStartAnimation = YES;
    label.text = @"shake to animate";
}
添加此功能

-(void) doTheAnimation {
    animation.animationImages= [NSArray arrayWithObjects:
                                [UIImage imageNamed:@"Frame0.png"],
                                [UIImage imageNamed:@"Frame1.png"],
                                [UIImage imageNamed:@"Frame2.png"],
                                [UIImage imageNamed:@"Frame3.png"],
                                [UIImage imageNamed:@"Frame4.png"],
                                [UIImage imageNamed:@"Frame5.png"],
                                [UIImage imageNamed:@"Frame6.png"],
                                [UIImage imageNamed:@"Frame7.png"],
                                [UIImage imageNamed:@"Frame8.png"],
                                [UIImage imageNamed:@"Frame9.png"],
                                [UIImage imageNamed:@"Frame10.png"],
                                [UIImage imageNamed:@"Frame11.png"],
                                [UIImage imageNamed:@"Frame12.png"],
                                [UIImage imageNamed:@"Frame13.png"],
                                [UIImage imageNamed:@"Frame14.png"], 
                                nil];

    [animation setAnimationRepeatCount:1];
    animation.animationDuration = 1;
    [animation startAnimating];   
    label.text = @"";
}
添加运动开始

- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
    if (event.type == UIEventSubtypeMotionShake && canStartAnimation) {
        [self doTheAnimation];
    }
}

在头文件(.h)中添加以下内容

也更改开始动画

-(IBAction)startanimation 
{
    canStartAnimation = YES;
    label.text = @"shake to animate";
}
添加此功能

-(void) doTheAnimation {
    animation.animationImages= [NSArray arrayWithObjects:
                                [UIImage imageNamed:@"Frame0.png"],
                                [UIImage imageNamed:@"Frame1.png"],
                                [UIImage imageNamed:@"Frame2.png"],
                                [UIImage imageNamed:@"Frame3.png"],
                                [UIImage imageNamed:@"Frame4.png"],
                                [UIImage imageNamed:@"Frame5.png"],
                                [UIImage imageNamed:@"Frame6.png"],
                                [UIImage imageNamed:@"Frame7.png"],
                                [UIImage imageNamed:@"Frame8.png"],
                                [UIImage imageNamed:@"Frame9.png"],
                                [UIImage imageNamed:@"Frame10.png"],
                                [UIImage imageNamed:@"Frame11.png"],
                                [UIImage imageNamed:@"Frame12.png"],
                                [UIImage imageNamed:@"Frame13.png"],
                                [UIImage imageNamed:@"Frame14.png"], 
                                nil];

    [animation setAnimationRepeatCount:1];
    animation.animationDuration = 1;
    [animation startAnimating];   
    label.text = @"";
}
添加运动开始

- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
    if (event.type == UIEventSubtypeMotionShake && canStartAnimation) {
        [self doTheAnimation];
    }
}

您好,非常感谢您的帮助,我在一个测试Xcode项目上尝试过这个,我认为我做得不对,但我不确定,他们是否无论如何我可以通过电子邮件发送测试Xcode,然后您可以检查为什么它没有做我需要它做的事情??)谢谢,非常感谢你的帮助,我在一个测试Xcode项目上尝试过这个,我认为我做得不对,但我不确定,他们是否无论如何我可以通过电子邮件发送测试Xcode,然后你可以检查为什么它没有做我需要它做的事情??)谢谢