【问题标题】:Xcode UILabel upside downXcode UILabel 颠倒
【发布时间】:2014-12-14 11:18:51
【问题描述】:

我想要一个应该倒置显示的标签。这意味着在创建标签后,我想将其旋转 90 度。那行得通,但现在标签无处不在。我不知道标签是如何旋转的。也许有人可以帮助我。代码如下:

let label = CreatorClass.createLabelWithFrame(CGRect(x: 10, y: 10, width: 150, height: 15), text: "aString", size: 12.0, bold: false, textAlignment: .Left, textColor: UIColor.whiteColor(), addToView: self)
        label.transform = CGAffineTransformMakeRotation(CGFloat(M_PI_2))

CreatorClass 创建一个标签并将其添加到某个视图(它添加到 self 是因为此代码在 UIView 的子类中调用)。实际上,我认为这是不言自明的。

【问题讨论】:

  • 什么意思?如果您想了解如何将CGAffineTransformMakeRotation 与您的发件人联系起来。
  • 您所说的“这有效,但现在标签无处不在。”是什么意思?颠倒是180度,顺便说一下,或者M_PI

标签: objective-c swift ios8 xcode6 core-graphics


【解决方案1】:

你的标签围绕它的中心旋转,这意味着:

您的标签旋转:x = 10 + 75 = 85 y = 10 + 7.5 = 17.5

这也是新位置的中心,宽度为 15.0,高度为 150;

你视图的新矩形,转移后是:

                       x = 85 - 7.5 = 77.5;
                       y = 17.5 - 75 = -57.5; 
                       width = 15 , height = 150.

它可能超出了自己的界限。

您可能希望将标签返回到其初始位置,只需将其放到初始位置:

  label.frame = CGRect(x: 10, y: 10, width: 15, height: 150)

【讨论】:

  • 哦,我没有意识到标签围绕它的中心旋转。非常感谢:]
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-10
  • 1970-01-01
  • 1970-01-01
  • 2013-02-01
  • 1970-01-01
相关资源
最近更新 更多