品質の低下なく、UIPinchGesture
を使用してUILabelのサイズを変更したいと考えています。現時点では、私はそれが本当にぼやけていますが、サイズを変更することができます。ここで品質低下のないUILabelのサイズ変更
は私のコードは、これは私のジェスチャー認識器
func handleScale(recognizer: UIPinchGestureRecognizer)
{
recognizer.view!.transform = CGAffineTransformScale(recognizer.view!.transform,
recognizer.scale, recognizer.scale)
recognizer.scale = 1
recognizer.view!.frame = CGRectMake(recognizer.view!.frame.minX, recognizer.view!.frame.minY, recognizer.view!.frame.width, recognizer.view!.frame.height)
println(recognizer.view!.frame)
println(self.label.font.fontWithSize(recognizer.view!.frame.height))
println(self.label.frame)
}
ある
label = UILabel(frame:CGRectMake(0,100,300,50))
label.text = "Hellow World"
label.textColor = UIColor.blueColor()
label.font = UIFont(name: "HelveticaNeue-Bold", size: self.label.frame.height)
self.view.addSubview(label)
self.resizeRecognizer = UIPinchGestureRecognizer(target: self, action: Selector("handleScale:"))
self.rotateRecognizer = UIRotationGestureRecognizer(target: self, action: Selector("handleRotate:"))
label.userInteractionEnabled = true
label.addGestureRecognizer(self.resizeRecognizer)
あるラベルの枠がスケーリングされたときに、テキストのサイズはまた、変更する必要がありますされて何をここで発生する必要がありますよく私は、フレームを変更するよう ので、フォントサイズがこれは私が私がからフォントサイズことを作ってみましたが、枠を調整して、フォントサイズを調整しない
<UICTFont: 0x7ffb39e17ba0> font-family: "Helvetica Neue"; font-weight: bold; font-style: normal; font-size: 578.77pt
<UICTFont: 0x7ffb3ca03ed0> font-family: "Helvetica Neue"; font-weight: bold; font-style: normal; font-size: 594.29pt
になってきたものですlabel.font = UIFont(name: "HelveticaNeue-Bold", size: self.label.frame.height)
を変更する必要がありますそれは鮮明になります。 私が考えていることは、実際のラベルが再びレンダリングされていないことです。 誰が何が起こっているのか、それを修正する方法を知っていますか?編集
:
上部のテキストは、私が再スケール後に起こるしたいものであるが、下部のテキストが
私は、これは私が作成した実現方法を何が起こっているかであります古いラベルのサイズを変更した新しいラベルがサブビューに追加されました。リセール時にこれを行うことができたらいいですか?
を試してみてください。 – gabuh
@gabuh label.adjustsFontSizeToFitWidth = true;何もしない – Johno2110