我正在尝试使用CGAffineTransformMakeRotation翻转(获取镜像视图)标签文本。但仍然没有进展。
此代码垂直翻转但我无法水平翻转。
self.labelShowdata.transform = CGAffineTransformMakeRotation((180.0 * CGFloat(M_PI)) / 180.0)
由于
答案 0 :(得分:32)
试试这个:
self.labelShowdata.transform = CGAffineTransformMakeScale(-1, 1);
答案 1 :(得分:16)
Swift 扩展程序可以垂直或水平翻转任何UIView:
extension UIView {
/// Flip view horizontally.
func flipX() {
transform = CGAffineTransform(scaleX: -transform.a, y: transform.d)
}
/// Flip view vertically.
func flipY() {
transform = CGAffineTransform(scaleX: transform.a, y: -transform.d)
}
}
使用方法:
yourView.flipX()
或yourView.flipY()
答案 2 :(得分:3)
如果您需要镜像视图,则应使用CGAffineTransformMakeScale:
self.labelShowdata.transform = CGAffineTransformMakeScale(-1., 1);
答案 3 :(得分:3)
对于基于@Choppin Broccoli解决方案的Swift 3:
self.labelShowdata.transform = CGAffineTransform(scaleX: -1, y: 1)