2015-07-15 13 views
0

Я пытаюсь повернуть мои UILabel 90 градусов вокруг слева от метки, то есть:setAnchorPoint на UILabel переместить метку

enter image description here

Первоначально я сделал это с помощью следующего:

[self.copyrightLabel.layer setAnchorPoint:CGPointMake(0.0, 0.5)]; 
[self.copyrightLabel setTransform:CGAffineTransformMakeRotation(-M_PI/2)]; 

Но это вызывает у меня ярлык, чтобы перейти к центру экрана:

enter image description here

Я нашел this post и установить его, но это имеет тот же эффект, когда я звоню:

[self setAnchorPoint:CGPointMake(0.0, 0.5) forView:_copyrightLabel]; 

Даже если я не вращают UILabel он все еще получает поколеблется:

enter image description here

Очевидно, что опорная точка работает правильно, но почему она перемещается в центр?

Я использую автозапуск с тремя ограничениями, ведущими, конечными и нижними пространствами.

+0

какой это анкер пункт пункт? –

+0

Я не понимаю вопроса. Я хочу, чтобы точка привязки была точкой, по которой происходит поворот. – Leon

ответ

0

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

+0

Я пробовал это вскоре после моего поста. Эффект заключался в том, что метка теперь находится в центре ширины метки в зависимости от длины текста. – Leon

+0

Я вижу. Возможно, вы захотите подклассифицировать 'UILabel', установить преобразование и переопределить' intrinsicContentSize' для переключения ширины и высоты. – johnpatrickmorgan

+0

Или ограничьте верхнюю, нижнюю и нижнюю части вашего ярлыка над своим супервизором и придайте ему небольшую ограниченную ширину, чтобы ее рамка была пригодна для поворота текста. Это будет выглядеть неправильно в Interface Builder, но будет выглядеть корректно во время выполнения. – johnpatrickmorgan

Смежные вопросы