iOS 上带有倾斜文本的 UILabel

UILabel with skewed text on iOS

我想让我的文字像图片中那样倾斜。我有所需的字体文件。我如何在 Swift 3 中实现这一点?提前致谢!

您可以对任何 UIView 子类实例应用二维转换。如果 label 是您的 UILabel,则:

label.transform = CGAffineTransform(a: 1.0, b: tan(-0.5), c: 0.0, d: 1.0, tx: 0.0, ty: 0.0)

参数是表示变换的矩阵的值。矩阵是

|  a  b  0 |
|  c  d  0 |
| tx tx  1 |

skew matrix algorithm 详细说明了如何设置参数。对于您的偏差,b 是重要的值。

您可以尝试使用 CGAffineTransform affineTransformMakeShear() 为您的 UIView 提供所需的倾斜效果。

对 UILabel 应用转换。一个小的负数 b 会像您的图像一样倾斜。游乐场示例:

let container = UIView(frame: CGRect(x: 0, y: 0, width: 400, height: 200))
let label = UILabel()

label.text = "ADDRESS"
label.sizeToFit()
label.transform = CGAffineTransform(a: 1.0, b: -0.5, c: 0, d: 1.0, tx: 0, ty: 20)

container.addSubview(label)
PlaygroundPage.current.liveView = container

container