在Swift 4中调整UISwitch的大小

use*_*021 4 uiswitch ios swift

我想在Swift 4中更改UISwitch的默认大小.

我已经查看了各种选项,但它们都与v3有关并且不起作用.

请有人建议在Swift 4中以编程方式执行此操作的示例吗?

谢谢,

编辑:

我试过以下例子:

 switchTest.transform = CGAffineTransformMakeScale(0.75, 0.75)

 switchTest.transform = CGAffineTransform(scaleX: 0.75, y: 0.75)

 UISwitch *switchTest = [UISwitch new];
 switchTest.transform = CGAffineTransformMakeScale(0.75, 0.75);
Run Code Online (Sandbox Code Playgroud)

我收到的错误消息总是一样的,并说:

预期的声明

Kha*_*lam 11

Swift 4 Code

方法1

拖动UISwitch Storyboard.创建UISwitch的插座并使用此代码替换ViewDidLoad方法.

@IBOutlet weak var switchDemo: UISwitch!

override func viewDidLoad() {
    super.viewDidLoad()
   switchDemo.transform = CGAffineTransform(scaleX: 0.75, y: 0.75)
}
Run Code Online (Sandbox Code Playgroud)

方法2

通过编程方式制作UISwitch.

class ViewController: UIViewController {

    let switchSwift4 = UISwitch(frame:CGRect(x: 150, y: 300, width: 0, height: 0))

    override func viewDidLoad() {
        super.viewDidLoad()

        self.switchSwift4.isOn = true
        switchSwift4.setOn(true, animated: false)
        switchSwift4.addTarget(self, action: #selector(switchValueDidChange(_:)), for: .valueChanged)
        switchSwift4.transform = CGAffineTransform(scaleX: 0.75, y: 0.75)
        self.view!.addSubview(switchSwift4)
    }

    @objc func switchValueDidChange(_ sender: UISwitch) {
        if switchSwift4.isOn == true {
            print("On")
        }
        else {
            print("Off")
        }
    }
}
Run Code Online (Sandbox Code Playgroud)