【问题标题】:Is there a way to draw UILabel diagonally?有没有办法对角绘制 UILabel ?
【发布时间】:2023-04-02 06:44:01
【问题描述】:

如何在对角线上绘制文字?换句话说,一个水平的 UILabel 旋转了,比如说,45 度?

【问题讨论】:

    标签: iphone uilabel


    【解决方案1】:
    // rotate 45 degrees
    label.transform = CGAffineTransformMakeRotation(M_PI / 4);
    

    您可能希望在将标签添加到其父视图之前执行此操作。

    【讨论】:

      【解决方案2】:

      您可以使用 CGAffineTransform 来旋转视图。

      myLabel.transform = CGAffineTransformMakeRotation(45 * M_PI / 180);
      

      【讨论】:

      • 在需要编写代码时,从 iPad 发布显然太慢了。我开始发帖时没有答案。现在有 3 个 :(
      • 这是最惯用的答案。从度数转换为弧度的公式是度数 * pi/180。所以这个读“旋转 45 度”比其他的更好。
      【解决方案3】:

      为什么没有人提到 M_PI_4(PI/4 的常数)?

      myLabel.transform = CGAffineTransformMakeRotation(M_PI_4);
      

      这是最快的方式,因为它不需要除法:)

      http://developer.apple.com/library/ios/#documentation/system/conceptual/manpages_iphoneos/man3/math.3.html

      【讨论】:

      • 会生成完全相同的代码,因为表达式是常量,它将在编译时进行评估。所以没有速度差异。
      【解决方案4】:

      你可以.transform标签,例如

      theLabel.transform = CGAffineTransformMakeRotation(M_PI / 4);   // pi/4 = 45 degrees.
      

      【讨论】:

        【解决方案5】:

        对于 Swift 3:

        label.transform = CGAffineTransform(rotationAngle: CGFloat(Double.pi / 4))
        

        【讨论】:

          猜你喜欢
          • 2020-10-01
          • 2019-10-05
          • 2017-01-03
          • 1970-01-01
          • 1970-01-01
          • 2013-10-15
          • 1970-01-01
          • 2021-09-19
          • 1970-01-01
          相关资源
          最近更新 更多