Sur*_*gch 62 rotation uibutton uilabel ios swift
你怎么能为UIButton和旋转文字UILabel?90度,180度.
注意:在将此标记为重复之前,我有意将我的问题建模为此问题的Swift版本:如何在Objective-C中为UIButton和UILabel旋转文本?
Sur*_*gch 182
我把我的答案格式类似于这样的回答.
这是原始标签:

顺时针旋转90度:
yourLabelName.transform = CGAffineTransform(rotationAngle: CGFloat.pi / 2)
Run Code Online (Sandbox Code Playgroud)

旋转180度:
yourLabelName.transform = CGAffineTransform(rotationAngle: CGFloat.pi)
Run Code Online (Sandbox Code Playgroud)

逆时针旋转90度:
yourLabelName.transform = CGAffineTransform(rotationAngle: -CGFloat.pi / 2)
Run Code Online (Sandbox Code Playgroud)

旋转按钮也是一样的.值得庆幸的是,触摸事件也会被旋转,因此按钮仍可在其新界限中单击,而无需执行任何额外操作.
yourButtonName.transform = CGAffineTransform(rotationAngle: CGFloat.pi / 2)
Run Code Online (Sandbox Code Playgroud)
笔记:
基本格式是CGAffineTransform(rotationAngle: CGFloat)其中rotationAngle的弧度,不度.
整圆(360度)有2π弧度.Swift包含有用的常量CGFloat.pi.
CGFloat.pi =π= 180度CGFloat.pi / 2 =π/ 2 = 90度自动布局:
自动布局不适用于旋转视图.(有关解释原因,请参阅Frame vs Bounds.)可以通过创建自定义视图来解决此问题.这个答案显示了如何为a做UITextView,但它与标签或按钮的基本概念相同.(请注意,CGAffineTransformScale由于您不需要镜像文本,因此必须删除该答案中的行.)
有关
dre*_*ees 11
如果您经常这样做,则将无法进行扩展。同样,这将允许您将视图旋转0-360度。
extension UIView {
func rotate(degrees: CGFloat) {
rotate(radians: CGFloat.pi * degrees / 180.0)
}
func rotate(radians: CGFloat) {
self.transform = CGAffineTransform(rotationAngle: radians)
}
}
Run Code Online (Sandbox Code Playgroud)
然后,您只需在视图上调用旋转
myView.rotate(degrees: 90)
Run Code Online (Sandbox Code Playgroud)
小智 6
顺时针旋转90度:
var rotateLabel: UILabel = UILabel(frame: CGRectMake(100, 0, 28, 159))
rotateLabel.textAlignment = .Right
rotateLabel.text = "Hello!"
self.view.addSubview(rotateLabel)
rotateLabel.transform = CGAffineTransformMakeRotation(CGFloat(M_PI_2))
rotateLabel.frame = CGRectMake(100, 0, 28, 159)
Run Code Online (Sandbox Code Playgroud)
逆时针旋转90度:
var rotateLabel: UILabel = UILabel(frame: CGRectMake(100, 0, 28, 159))
rotateLabel.textAlignment = .Right
rotateLabel.text = "Hello!"
self.view.addSubview(rotateLabel)
rotateLabel.transform = CGAffineTransformMakeRotation(CGFloat(-M_PI_2))
rotateLabel.frame = CGRectMake(100, 0, 28, 159)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
51397 次 |
| 最近记录: |