【问题标题】:rotate label to landscape in Interface builder在界面生成器中将标签旋转为横向
【发布时间】:2011-04-25 04:14:25
【问题描述】:

我只需要界面构建器的帮助。我试图只为我的应用旋转一个标签,但我在任何地方都找不到旋转功能..

谁能帮我旋转标签,我需要 xcode 中的代码来旋转它吗?

【问题讨论】:

    标签: xcode interface-builder label rotation landscape


    【解决方案1】:

    在 Swift 4 中,将以下代码添加到您的视图控制器:

    @IBDesignable
    class DesignableLabel: UILabel {
    }
    
    extension UIView {
        @IBInspectable
        var rotation: Int {
            get {
                return 0
            } set {
                let radians = ((CGFloat.pi) * CGFloat(newValue) / CGFloat(180.0))
                self.transform = CGAffineTransform(rotationAngle: radians)
            }
        }
    }
    

    然后在界面生成器中,将 Identity Inspector 中的标签类类型更改为“DesignableLabel”。然后,您的标签应该可以在界面生成器中旋转。

    【讨论】:

      【解决方案2】:

      我认为你不能在 IB 中旋转它。您需要对视图应用变换以使其旋转。

      view.transform = CGAffineTransformMakeRotation(3.14/2);
      

      【讨论】:

      • 我该怎么做...它会旋转标签还是整个界面...谢谢
      • 您可以将转换应用于容器视图或包含视图。如果是容器,那么(我相信)应该旋转其中的所有子视图。
      • M_PI 在 中定义,所以... CGAffineTransformMakeRotation(M_PI/2);
      猜你喜欢
      • 2011-10-02
      • 2010-10-06
      • 2011-09-27
      • 2014-08-14
      • 2011-02-24
      • 1970-01-01
      • 2012-12-13
      • 1970-01-01
      • 2020-04-15
      相关资源
      最近更新 更多