1

UILabelつまんで回転できるアプリを作成しています。をつまむと、UILabelピクセル化されます。どうすればこれを解決できますか?

4

4 に答える 4

4

UILabelあなたのviewControllerのプロパティである と仮定します:

CGFloat pinchScale = pinchGesture.scale;
pinchScale = round(pinchScale * 1000) / 1000.0;

if (pinchScale < 1) {
        self.UILabel.font = [UIFont fontWithName:self.UILabel.font.fontName size:(self.UILabel.font.pointSize - pinchScale)];
}
else{
        self.UILabel.font = [UIFont fontWithName:self.UILabel.font.fontName size:(self.UILabel.font.pointSize + pinchScale)];
}

また、adjustsFontSizeToFitWidthYESに設定します

于 2012-11-27T15:00:21.737 に答える
2

ピンチジェスチャーの丸められたスケールを取得するには、次のようにします。

- (void)pinch:(UIPinchGestureRecognizer *)pinchGesture
   {
     CGFloat pinchScale = pinchGesture.scale;
     pinchScale = round(pinchScale * 1000) / 1000.0;

        YourLabel.font = [UIFont fontWithName:@"your font Name" size:Actual Font size+pinchScale];


   }

これを試してみてください。

于 2012-11-23T06:37:26.477 に答える
1

私はこれを機能させました、試してみてください。

pinchScale2 = pinchGesture.scale;
pinchScale2 = round(pinchScale2 * 1000) / 1000.0;

if (pinchScale2 < pinchScale1)
{
        self.UILabel.font = [UIFont fontWithName:self.UILabel.font.fontName size:(self.UILabel.font.pointSize - pinchScale2)];
}
else
{
        self.UILabel.font = [UIFont fontWithName:self.UILabel.font.fontName size:(self.UILabel.font.pointSize + pinchScale2)];
}
pinchScale1 = pinchScale2;
于 2013-02-11T14:47:47.403 に答える
0

私はこれを機能させました、試してみてください。

CGFloat maxFontSize;
NSString* string = pTextLabel.text;

UIFont* pfont = [UIFont fontWithName:[pTextLabel font].fontName size:600];
[string sizeWithFont:pfont minFontSize:3 actualFontSize:&maxFontSize forWidth:pTextLabel.frame.size.width - 1 lineBreakMode: UILineBreakModeWordWrap];


UIFont* pStampFont = [UIFont fontWithName:[pTextLabel font].fontName size:maxFontSize];
[pTextLabel setFont:pStampFont];
于 2013-11-20T11:49:19.437 に答える