Я хочу позволить пользователю изменить размер UILabel с помощью жеста. Использование только CGAffineTransformScale
не делает эту работу, потому что текст в метке становится размытым при увеличении.
Так что я на самом деле использую CGAffineTransformScale, чтобы просто показать, что его масштабирование увеличивается, сохраняется размер кадра, возвращается идентификатор преобразования и завершается размер кадра. Простое переключение, но оно работает.
-(void)handlePinch:(UIPinchGestureRecognizer *)recognizer{
if(recognizer.state == UIGestureRecognizerStateBegan){
startingTransform = self.transform;
}
recognizer.view.transform = CGAffineTransformScale(recognizer.view.transform, recognizer.scale, recognizer.scale);
recognizer.scale = 1;
if (recognizer.state == UIGestureRecognizerStateEnded){
CGRect endFrame = self.frame;
self.transform = startingTransform;
self.frame = endFrame;
}
}
Конечным результатом этого является изменение размера кадра для UILabel. Однако текст не масштабируется до размера метки. Кроме того, свойство corretsFontSizeToFitWidth работает только для масштабирования ВНИЗ, а не вверх ( ссылка ). Итак, что я должен сделать, чтобы размер моей этикетки увеличился до рамки?