Я хочу, чтобы иметь возможность изменять размер UILabel с помощью UIPinchGesture
, без потери качества. На данный момент я могу изменить его размер, хотя он становится действительно размытым.Изменение размера UILabel без потери качества
Вот мой код
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)
Это мой жест распознавани
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.font = UIFont(name: "HelveticaNeue-Bold", size: self.label.frame.height)
Это то, что я пришел к
<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
Размер шрифта делает настроить так как кадр регулирует, я попытался сделать, что размер шрифта от начало, и оно становится четким. То, что я думаю, это то, что фактический ярлык не возвращается повторно. Кто-нибудь знает, что происходит или как это исправить?
Edit:
Текст на вершине, что я хочу чтобы это произошло после того, как Rescale, текст внизу то, что происходит
так, как я достиг этого я был создан новый ярлык с размером старой метки, а затем добавил его в подзаголовок, я хочу иметь возможность сделать это при масштабировании, если это имеет смысл
Попробуйте установить свойство 'adjustsFontSizeToFitWidth» в UILabel истинно, и не изменять размер шрифта вручную. – gabuh
@gabuh label.adjustsFontSizeToFitWidth = true; ничего не делает – Johno2110