0

我创建了示例点击计数应用程序。但我不知道如何计算圈数。示例:当命中数 100 时,圈数为 1。当命中数 200 时,圈数为 2。我使用以下代码。谢谢。我是 xcode 初学者。

以下代码是 ViewController.m

#import "ViewController.h"

 @interface ViewController ()

 @end

@implementation ViewController

-(IBAction)plus {
    counter=counter +1;
    count.text = [NSString stringWithFormat:@"%i", counter];
}

-(IBAction)minus {
     counter=counter -1;
    count.text = [NSString stringWithFormat:@"%i", counter];
 }

 -(IBAction)zero {
     counter=0;
     count.text = [NSString stringWithFormat:@"%i", counter];
}
- (void)viewDidLoad
{
    counter=0;
     count.text=@"0";
     [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

 - (void)didReceiveMemoryWarning
 {
     [super didReceiveMemoryWarning];
     // Dispose of any resources that can be recreated.
 }

 @end

以下代码是 ViewController.h #import

 int counter;

 @interface ViewController : UIViewController {
     IBOutlet UILabel *count;
     IBOutlet UILabel *lap;
 }

 -(IBAction)plus;
 -(IBAction)minus;
 -(IBAction)zero;
 @end
4

1 回答 1

0

这是我如何做到这一点的。现在请注意,我没有使用您的确切设置,但这应该可以工作,或者至少给您正确的想法。理论上这应该更难,因为你真的想检查无限量的 100 圈,所以我们也需要一些逻辑检查,除非我们使用 int。Int 并不精确,所以如果我们说 50/100,它仍然会返回 0。但是,100/100 = 1、200/100 = 2、275/100 仍然等于 2。这将轻松完成您想要的。

这是一个简单的例子,只有一个增加数量的按钮,我使用全局变量来计算圈数和点击数。

在.h

#import <UIKit/UIKit.h>

@interface TapCounterViewController : UIViewController
- (IBAction)buttonTouched:(id)sender;

@end 

在他们中

#import "TapCounterViewController.h"

@interface TapCounterViewController ()

@end

@implementation TapCounterViewController

int lapNumber = 0;
int buttonTaps = 0;
- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (IBAction)buttonTouched:(id)sender {
    buttonTaps = buttonTaps + 1;
    NSLog(@"Current Button Taps = %i", buttonTaps);

    //Check for Lap
    [self checkForLap];
}


-(void)checkForLap {
    //We must divide by 100 to check for the number if laps.
    int laps = buttonTaps/100;
    NSLog(@"Number of laps = %i", laps);
    lapNumber = laps;
}
@end

这可以很容易地适应递减,重置你任何东西。每当您更改按钮点击时,执行 checkForLap。

祝你好运,如果您需要更多信息,请告诉我!

编辑

至于震动:

有两个看似相似的函数采用参数 kSystemSoundID_Vibrate:

1) AudioServicesPlayAlertSound(kSystemSoundID_Vibrate); 2)AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);

这两个功能都会震动 iPhone。但是当您在不支持振动的设备上使用第一个功能时,它会发出哔声。另一方面,第二个功能在不受支持的设备上没有任何作用。因此,如果您要连续振动设备,就像常识所说的警报一样,请使用功能 2。

另请参阅“iPhone 教程:检查 iOS 设备功能的更好方法”一文。

要导入的头文件:

#import <AudioToolbox/AudioServices.h>
于 2012-12-23T02:48:08.317 回答