我怎样才能调整按钮的大小? Swift

How can I resize the button? Swift

如何在 phone 屏幕处于纵向或横向模式时更改按钮的宽度和长度?

我希望这是纵向屏幕时的按钮大小:

        View_Mor.heightAnchor.constraint(equalToConstant: 140).isActive = true
        View_Mor.widthAnchor.constraint(equalToConstant: 140).isActive = true

当屏幕为横向时:

        View_Mor.heightAnchor.constraint(equalToConstant: 30).isActive = true
        View_Mor.widthAnchor.constraint(equalToConstant: 30).isActive = true

这是我的代码:

class CHATViewController: UIViewController {
@IBOutlet weak var View_Mor: UIView!
override func viewDidLoad() {
    super.viewDidLoad()
    View_Mor.translatesAutoresizingMaskIntoConstraints = false
    View_Mor.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
    View_Mor.centerYAnchor.constraint(lessThanOrEqualTo: view.centerYAnchor).isActive = true
    View_Mor.heightAnchor.constraint(equalToConstant: 140).isActive = true
    View_Mor.widthAnchor.constraint(equalToConstant: 140).isActive = true
 }


override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
    super.viewWillTransition(to: size, with: coordinator)
    if UIDevice.current.orientation.isLandscape {
        View_Mor.heightAnchor.constraint(equalToConstant: 30).isActive = true
        View_Mor.widthAnchor.constraint(equalToConstant: 30).isActive = true
        self.view.layoutIfNeeded()
    } else {
        print("Portrait")
        View_Mor.heightAnchor.constraint(equalToConstant: 140).isActive = true
        View_Mor.widthAnchor.constraint(equalToConstant: 140).isActive = true
        self.view.layoutIfNeeded()
    }
 }
}

但是不行

使用尺寸 类 改变按钮的宽度和长度。 覆盖 traitCollectionDidChange 方法,当 iPhone 在不同方向发生变化时将调用此方法。使用 traitCollection 中的 horizo​​ntalSizeClass 和 verticalSizeClass 激活所需的约束。

import UIKit

class CHATViewController: UIViewController {
    @IBOutlet weak var View_Mor: UIView!
    lazy var heightArchonWhenPortrait = View_Mor.heightAnchor.constraint(equalToConstant: 140)
    lazy var widthArchonWhenPortrait = View_Mor.widthAnchor.constraint(equalToConstant: 140)
    lazy var heightArchonWhenlandscap = View_Mor.heightAnchor.constraint(equalToConstant: 30)
    lazy var widthArchonWhenlandscap = View_Mor.widthAnchor.constraint(equalToConstant: 30)

    override func viewDidLoad() {
        super.viewDidLoad()
        View_Mor.translatesAutoresizingMaskIntoConstraints = false
        View_Mor.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
        View_Mor.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true
        heightArchonWhenPortrait.isActive = false
        widthArchonWhenPortrait.isActive = false
        heightArchonWhenlandscap.isActive = true
        widthArchonWhenlandscap.isActive = true
    }


    override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
        super.traitCollectionDidChange(previousTraitCollection)
        redoLayout(trait: traitCollection)
    }


    func redoLayout(trait:UITraitCollection) {
        if trait.horizontalSizeClass == .compact && trait.verticalSizeClass == .regular {
            heightArchonWhenPortrait.isActive = false
            widthArchonWhenPortrait.isActive = false
            heightArchonWhenlandscap.isActive = true
            widthArchonWhenlandscap.isActive = true
        } else {
            print("Portrait")
            heightArchonWhenlandscap.isActive = false
            widthArchonWhenlandscap.isActive = false
            heightArchonWhenPortrait.isActive = true
            widthArchonWhenPortrait.isActive = true
        }
    }
}