【问题标题】:Swift: rotate oblique a button in iOS8?Swift:在iOS8中旋转倾斜按钮?
【发布时间】:2015-05-31 09:18:21
【问题描述】:

假设我的 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 但我真的不知道如何开始

【问题讨论】:

  • 你可以添加一个简单的图像使其更清晰吗?
  • 3轴旋转:CATransform3DMakeRotation()
  • 已编辑,也许更清楚一点

标签: ios swift button ios8 rotatetransform


【解决方案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()

【讨论】:

  • 谢谢,但是如何将它应用到我的代码中呢?我编辑了这个问题,所以它更清楚了
  • 你有一个 IBAction,你需要一个 IBOutlet 来更改按钮属性,只需为按钮添加这个 IBOutlet 并将其命名为按钮,在 viewDidLoad 中添加上面的代码,这一切都应该工作
  • 谢谢,这里有一个更进化的问题,也许你可以再次帮助我! [链接] (stackoverflow.com/questions/30900125/…)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-04
  • 1970-01-01
相关资源
最近更新 更多