如何在Swift中翻转标签(获取镜像视图)(Xcode 6.3)

GkN*_*kNx 9 cocoa-touch uiview uilabel ios swift

我试图用CGAffineTransformMakeRotation翻转(获取镜像视图)标签文本.但仍然没有进展.

这段代码垂直翻转,但我无法水平翻转.

self.labelShowdata.transform = CGAffineTransformMakeRotation((180.0 * CGFloat(M_PI)) / 180.0)
Run Code Online (Sandbox Code Playgroud)

谢谢

Cho*_*oli 35

试试这个:

self.labelShowdata.transform = CGAffineTransformMakeScale(-1, 1);
Run Code Online (Sandbox Code Playgroud)


Jua*_*ero 19

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)
    }
 }
Run Code Online (Sandbox Code Playgroud)

用法: yourView.flipX()yourView.flipY()


Nik*_*sen 5

对于基于@Choppin Broccoli 解决方案的 Swift 3:

self.labelShowdata.transform = CGAffineTransform(scaleX: -1, y: 1)
Run Code Online (Sandbox Code Playgroud)