如何从一侧弯曲或扭曲UILabel文本

时间:2018-08-23 04:51:58

标签: ios swift xcode uilabel nsattributedstring

我使用了属性字符串和库,但是找不到标签文本效果的任何适当解决方案。

任何人都可以建议我如何实现此功能。

i want label effect like this image

谢谢

1 个答案:

答案 0 :(得分:3)

适应How do I apply a perspective transform to a UIView?中的代码,这是一些示例Swift 4代码,该示例将透视图应用于标签,从而提供与图像相似的结果。

let pview = UIView(frame: CGRect(x: 0, y: 0, width: 400, height: 300))
pview.backgroundColor = .black
let plabel = UILabel(frame: CGRect(x: 0, y: 110, width: 250, height: 75))
pview.addSubview(plabel)
plabel.text = " ND420 "
plabel.textAlignment = .center
plabel.font = UIFont.boldSystemFont(ofSize: 72)
plabel.textColor = .orange
plabel.backgroundColor = .red
plabel.sizeToFit()
let layer = plabel.layer
var transform = CATransform3DIdentity
transform.m34 = 1.0 / -200
transform = CATransform3DRotate(transform, -45 * CGFloat.pi / 180, 0, 1, 0)
layer.transform = transform

在操场上运行并查看pview

播放分配给transform.m34的值和CATransform3DRotate中的旋转角度。负旋转角(如上所示)使左侧变小而右侧变大。正角则相反。

enter image description here