0

したがって、テキストまたは文字列を描画する方法はわかりませんが、UILabel です。そのため、ラベルを初期化しましたが、アプリがクラッシュし続けます。

ラベルを初期化し、クラッシュを引き起こしているメソッドは次のとおりです。

-(無効) setupScore{

scoreLabel = [NSString stringWithFormat:@"%d", score];
scoreLabel.frame = CGRectMake(262, 250, 100, 40);
[scoreLabel setText: scoreString];

//normally you'll want a transparent background for your label
scoreLabel.backgroundColor = [UIColor clearColor]; 

//you can use non-standard fonts
[scoreLabel setFont:[UIFont fontWithName:@"TimesNewRoman" size: 1.0f]];

//change the label's text color
scoreLabel.textColor = [UIColor whiteColor];

//add it to your view
scoreLabel.transform = CGAffineTransformMakeRotation(89.53);
[self addSubview:scoreLabel]; }

-(void) setupPausedLabel{

pausedLabel = [NSString stringWithFormat:@"Tap To Resume"];
pausedLabel.frame = CGRectMake(262, 250, 100, 40);
[pausedLabel setText: @"Tap To Resume"];

//normally you'll want a transparent background for your label
pausedLabel.backgroundColor = [UIColor clearColor];

//you can use non-standard fonts
[pausedLabel setFont:[UIFont fontWithName:@"TimesNewRoman" size: 1.0f]];

//change the label's text color
pausedLabel.textColor = [UIColor whiteColor];

//add it to your view
pausedLabel.transform = CGAffineTransformMakeRotation(89.53);
[pausedLabel setHidden: YES];
[self addSubview:pausedLabel]; }

ご協力いただきありがとうございます!

4

4 に答える 4

2

あなたがやっている :

scoreLabel = [NSString stringWithFormat:@"%d", score];

やったほうがいい :

scoreLabel = [[UILabel alloc] init];    // And release it somewhere
scoreString = [NSString stringWithFormat:@"%d", score];

pauseLabelについても同じです。

于 2012-08-17T16:45:21.337 に答える
0

NSStringクラスを使用してラベルを初期化しています。これはUILabelである必要があります。適切なフォーマッタを使用して文字列を生成するようにしてください。整数の場合は%d、NSStringオブジェクトの場合は%@です。このドキュメントをチェックして、適切な指定子を見つけてください。

NSString* scoreString = [NSString stringWithFormat:@"%d", score];
NSString* anotherString = @"Tap To Resume";
NSString* pausedString = [NSString stringWithFormat:@"%@", anotherString];
于 2012-08-17T16:45:57.240 に答える
0

あなたは最初の行で間違っています。

scoreLabel = [NSString stringWithFormat:@"%d", score];

scoreLabel=[[UILable alloc]init];
scoreLabel.text=[NSString stringWithFormat:@"%i",score];

そしてNextMethodで同じ問題

pausedLabel = [NSString stringWithFormat:@"Tap To Resume"];

間違いです

    pausedLabel=[[UILable alloc]init];
pausedLable.text=[NSString stringWithFormat:@"Tap To Resume"];

UILable text プロパティをいじっているので、クラッシュの問題が発生します

于 2012-08-17T17:06:12.960 に答える
0
-(void) setupScore{

 scoreLabel.text = [NSString stringWithFormat:@"%d", score];
scoreLabel.frame = CGRectMake(262, 250, 100, 40);

[scoreLabel setText: scoreString];

//normally you'll want a transparent background for your label
scoreLabel.backgroundColor = [UIColor clearColor]; 

//you can use non-standard fonts
[scoreLabel setFont:[UIFont fontWithName:@"TimesNewRoman" size: 1.0f]];

//change the label's text color
scoreLabel.textColor = [UIColor whiteColor];

//add it to your view
scoreLabel.transform = CGAffineTransformMakeRotation(89.53);
[self.view addSubview:scoreLabel];

}

正常に動作しています。viewDidLoad で呼び出しています。

- (void)viewDidLoad

{ [super viewDidLoad];

scoreLabel=[[UILabel alloc]init];

scoreString=[NSString stringWithString:@"1221"];

score=10;

[self setupScore];

scoreString=[NSString stringWithString:@"11"];


[self setupScore];

scoreString=[NSString stringWithString:@"333"];


[self setupScore];

[self setupScore];

scoreLabel.text=@"okey...";

}

于 2012-08-17T17:42:50.697 に答える