繁体   English   中英

Swift:在iOS8中倾斜旋转按钮?

[英]Swift: rotate oblique a button in iOS8?

假设我的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) {
    }

}

通常我将图形图像作为它们的图像。 然后我应用自动布局。

但! 我需要它们倾斜而不是水平,即如果您有正方形,则需要将其旋转为菱形(45°),这是相同的。 我知道不可能通过界面生成器。 如何通过代码实现?

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

最好的方法是旋转视图图层,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()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM