在Swift 4

时间:2017-12-31 06:00:42

标签: ios swift uiswitch

我想在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);

我收到的错误消息始终相同,并说明了这一点:

  

预期声明

1 个答案:

答案 0 :(得分:10)

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)
}

方法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")
        }
    }
}