Swift:在iOS8中旋转一个按钮?

时间:2015-05-31 09:18:21

标签: ios swift button ios8 rotatetransform

假设我的ViewController上有一个或多个100 * 50矩形按钮。

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib. 

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    @IBAction func myButton(sender: UIButton) {
    }

}

通常我把我的图像作为他们的图像。然后我应用自动布局。

BUT!我需要它们倾斜而不是水平的,I.E。如果你有一个正方形,我需要将它旋转成一个钻石(45°),它是一样的。 我知道通过界面构建​​器是不可能的。如何通过代码制作它?

也许我应该使用CGAffineTransformRotate或RotateTranform但我真的不知道如何开始

1 个答案:

答案 0 :(得分:1)

旋转视图图层的最佳方法是,CGAffineTransformMakeTranslation指示图层将围绕图层旋转的点,记住图层从(0,0)到(1.1),因此中间是(0.5,0.5):

    var transform = CGAffineTransformMakeTranslation(0.5, 0.5)
    var angle = CGFloat(M_PI / 2.0) //90 degress rotation
    transform = CGAffineTransformRotate(transform, angle)
    button.transform = transform

    button.layer.rasterizationScale = UIScreen.mainScreen().scale
    button.layer.shouldRasterize = true

    button.setNeedsDisplay()