如何将文本旋转UIButton
度和UILabel
度?90度,180度.
Note:在您将此问题标记为重复之前,我有意将我的问题建模为此问题的SWIFT版本:How can you rotate text for UIButton and UILabel in Objective-C?
如何将文本旋转UIButton
度和UILabel
度?90度,180度.
Note:在您将此问题标记为重复之前,我有意将我的问题建模为此问题的SWIFT版本:How can you rotate text for UIButton and UILabel in Objective-C?
我把我的答案放在与this answer相似的格式中.
以下是原始标签:
顺时针旋转90度:
yourLabelName.transform = CGAffineTransform(rotationAngle: CGFloat.pi / 2)
旋转180度:
yourLabelName.transform = CGAffineTransform(rotationAngle: CGFloat.pi)
逆时针旋转90度:
yourLabelName.transform = CGAffineTransform(rotationAngle: -CGFloat.pi / 2)
旋转按钮时执行相同的操作.值得庆幸的是,touch 事件也会旋转,因此按钮在新的范围内仍然可以点击,而不需要做任何额外的操作.
yourButtonName.transform = CGAffineTransform(rotationAngle: CGFloat.pi / 2)
Notes:个
适用于CGAffineTransform人的文档
基本格式是CGAffineTransform(rotationAngle: CGFloat)
,其中rotationAngle
是弧度,而不是度.
在一个完整的圆(360度)中有2个π弧度.SWIFT包含有用的常量CGFloat.pi
.
CGFloat.pi
=π=180度CGFloat.pi / 2
=π/2=90度Auto Layout:
自动布局不适用于旋转视图.(有关原因的解释,请参见Frame vs Bounds.)这个问题可以通过创建自定义视图来解决.This answer显示了如何为UITextView
执行此操作,但它与标签或按钮的基本概念相同.(请注意,您必须删除该答案中的第CGAffineTransformScale
行,因为您不需要镜像文本.)
Related个