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
我想让我的文字像图片中那样倾斜。我有所需的字体文件。我如何在 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