1

UILabel を使用してスコアとハイ スコアを表示していますが、スコア ラベルが 4 倍ダイジェストに入ると、「スコア: 10...」と表示されますが、ハイ スコア ラベルはそうしません。

ラベルの初期化コードは次のとおりです (ラベルの後に 1 がある場合はテキストが表示されます。1 がない場合は実際の数値が表示されます)。

// ここでスコア ラベルを設定します scoreLabelWidth = 100; scoreLabelPos = 260;

scoreLabel = [[UILabel alloc] init];
[scoreLabel setFont: [UIFont fontWithName: @"TimesNewRoman" size: 10.0f]];
[scoreLabel setFrame: CGRectMake(260, scoreLabelPos, scoreLabelWidth, 40)];
[scoreLabel setBackgroundColor:[UIColor clearColor]];
[scoreLabel setTextColor: [UIColor clearColor]];
[scoreLabel setTextColor: [UIColor whiteColor]];
scoreLabel.transform = CGAffineTransformMakeRotation(89.53);
[self addSubview: scoreLabel];

scoreLabel1 = [[UILabel alloc] init];
[scoreLabel1 setFont: [UIFont fontWithName: @"TimesNewRoman" size: 10.0f]];
[scoreLabel1 setFrame: CGRectMake(262, 230, 100, 40)];
[scoreLabel1 setBackgroundColor:[UIColor clearColor]];
[scoreLabel1 setTextColor: [UIColor clearColor]];
[scoreLabel1 setTextColor: [UIColor whiteColor]];
scoreLabel1.transform = CGAffineTransformMakeRotation(89.53);
[self addSubview: scoreLabel1];

highScoreLabel = [[UILabel alloc] init];
[highScoreLabel setFont: [UIFont fontWithName: @"TimesNewRoman" size: 10.0f]];
[highScoreLabel setFrame: CGRectMake(262, 150, 100, 40)];
[highScoreLabel setBackgroundColor:[UIColor clearColor]];
[highScoreLabel setTextColor: [UIColor clearColor]];
[highScoreLabel setTextColor: [UIColor whiteColor]];
highScoreLabel.transform = CGAffineTransformMakeRotation(89.53);
[self addSubview: highScoreLabel];

highScoreLabel1 = [[UILabel alloc] init];
[highScoreLabel1 setFont: [UIFont fontWithName: @"TimesNewRoman" size: 10.0f]];
[highScoreLabel1 setFrame: CGRectMake(262, 50, 100, 40)];
[highScoreLabel1 setBackgroundColor:[UIColor clearColor]];
[highScoreLabel1 setTextColor: [UIColor clearColor]];
[highScoreLabel1 setTextColor: [UIColor whiteColor]];
highScoreLabel1.transform = CGAffineTransformMakeRotation(89.53);
[self addSubview: highScoreLabel1];

次に、更新セクションで、ラベルのテキストと文字列の形式を設定します (そのコードが必要な場合はお知らせください)。

ありがとう!

4

1 に答える 1

1

lineBreakMode使用しているラベルのプロパティを変更します。デフォルトでは、表示されUILineBreakModeTailTruncationている動作の結果に設定されています。

または、プロパティを YES に設定してadjustsFontSizeToFitWidth、ラベルのフォント サイズを自動的に縮小することもできます。これを行う場合は、minimumFontSizeプロパティも適切な値に設定することをお勧めします。例えば:

scoreLabel.adjustsFontSizeToFitWidth = YES;
scoreLabel.minimumFontSize = 6.0f;
于 2012-08-20T06:18:58.960 に答える