Использование жеста для увеличения размера UILabel - PullRequest
2 голосов
/ 17 марта 2012

Я хочу позволить пользователю изменить размер 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 работает только для масштабирования ВНИЗ, а не вверх ( ссылка ). Итак, что я должен сделать, чтобы размер моей этикетки увеличился до рамки?

Ответы [ 2 ]

1 голос
/ 17 марта 2012

Думаю, вы уже к чему-то пришли.Свойство adjustFontSizeToFitWidth будет регулировать только размер шрифта вниз от любого установленного размера ... так что произойдет, если размер шрифта вашей метки установлен на что-то действительно большое?Как невероятно большой, по сравнению с возможным размером кадра вашего лейбла?

0 голосов
/ 17 марта 2012
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...