-3

重複
の可能性:iPhoneを振動させる

私は2つのボタンを持っています。1 つのボタンが加算され、1 つのボタンが加算されます。問題は、22 などの特定の数字がテキスト領域にあると、電話が一定時間振動することです。これが私のコードです:

私が言おうとしているのは、IF ラベルが「22」を表示し、電話を振動させることです...問題は、これをどのように書くかです..私はまだ学んでいるので、これに関する助けがあれば大歓迎です! これまでの私のコードは次のとおりです。

#import "StartCountViewController.h"
#import "AudioToolbox/AudioServices.h"

@implementation StartCountViewController


int Count=0;

-(void)awakeFromNib {

    startCount.text = @"0";

}


- (IBAction)addNumber {

    if(Count >= 999) return;

    NSString *numValue = [[NSString alloc] initWithFormat:@"%d", Count++];
    startCount.text = numValue;
    [numValue release];

}

- (IBAction)vibrate {


}
- (IBAction)subtractNumber {

    if(Count <= -35) return;

    NSString *numValue = [[NSString alloc] initWithFormat:@"%d", Count--];
    startCount.text = numValue;
    [numValue release]; 
}


- (void)didReceiveMemoryWarning {
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];

    // Release any cached data, images, etc that aren't in use.
}

- (void)viewDidUnload {
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
}


- (void)dealloc {
    [super dealloc];
}

@end
4

1 に答える 1

2

これは基本的に、プログラムでiPhoneを振動させるの複製です

そうは言っても、あなたのコードにはまだエラーがあり、構文は非推奨のようです。

これが例です。振動をテストするために必要な実際の iPhone でこれを試したことはありませんが、AudioToolbox フレームワークをプロジェクトに追加し、もちろん XIB ファイルに必要な接続があれば動作するはずです。

ViewController.h

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController
@property (retain, nonatomic) IBOutlet UILabel *numberLabel;
- (IBAction)addNumber:(id)sender;
- (IBAction)subtractNumber:(id)sender;
@end

ViewController.m

#import "ViewController.h"
#import "AudioToolbox/AudioServices.h"

@interface ViewController ()
{
  int count;
}
@end

@implementation ViewController
@synthesize numberLabel;

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

- (void)viewDidUnload
{
  [self setNumberLabel:nil];
    [super viewDidUnload];
    // Release any retained subviews of the main view.
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
  return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}

- (void)dealloc 
{
  [numberLabel release];
  [super dealloc];
}

- (IBAction)addNumber:(id)sender 
{
  if(count >= 999) {
    return [self vibrate];
  }; // ignore numbers larger than 999
  count++;
  [self updateCount];
}

- (IBAction)subtractNumber:(id)sender 
{
  if(count <= -35) {
    return [self vibrate];
  }; // ignore numbers less than -35
  count--;
  [self updateCount];
}

-(void)updateCount 
{
  NSString *countStr = [[NSString alloc] initWithFormat:@"%d",count];
  [self.numberLabel setText:countStr];
  [countStr release];
}

-(void)vibrate 
{
  NSLog(@"I'm vibrating");
  AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
}
@end
于 2012-08-23T03:58:19.030 に答える