CGAffineTransformMakeRotation UILabel искажение - PullRequest
2 голосов
/ 16 ноября 2011

Я пытаюсь повернуть UILabel на 45 градусов.Я устанавливаю свойство transform на CGAffineTransformMakeRotation(M_PI * 0.25), но когда я это делаю, UILabel просто исчезает.Если я изменю 0.25 на 0.26, я смогу увидеть UILabel (см. Ниже)

UILabel problem

UILabel до вращения: UILabel with no rotation

Код: self.myLabel.transform = CGAffineTransformMakeRotation(M_PI * 0.26);

Если я пропустил какую-либо информацию, которая может быть полезна, пожалуйста, дайте мне знать!

Обновление

Кажется, что рамка должна бытьустановить до применения вращения.

Ответы [ 2 ]

4 голосов
/ 16 ноября 2011

Ваш код должен работать нормально, так что происходит что-то еще, для чего вы не опубликовали код. Я бы порекомендовал проверить маску авторазмера, а также где-либо еще, что может манипулировать преобразованием. Из внешнего вида и вашего описания почти кажется, что он вращается вдоль неправильной оси с помощью трехмерного вращения, в результате чего вы видите сторону этикетки там, где она имеет нулевую ширину / толщину, как если бы вы смотрели на край бумажной головки на .

1 голос
/ 04 января 2012

Другим решением проблемы может быть встраивание вашей UILabel в другой вид и использование внешнего вида для размещения метки на экране.

В другом посте упоминалась проблема, которую я вижу с искажением илиисчезновение текста в UILabel.Их решением было установить все внешние пружины на UILabel.Это сработало для меня, но тогда моя метка не была правильно расположена на экране, особенно во время поворота устройства.Поэтому я подумал, что встраивание моей UILabel в представление контейнера позволило бы мне использовать представление контейнера для позиционирования моей метки только с установленной верхней и правой пружинами, в то же время позволяя правильно вращать UILabel внутри с помощью CGAffineTransformMakeRotation.

Надеюсь, что этовыручает кого-то, у кого также есть эта проблема.

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