簡體   English   中英

無法以編程方式更改視圖的大小

[英]Can't change size of view programatically

我有一個UIButton ,我嘗試以編程方式更改它的大小,但是它沒有作用。 這是我寫的:

import UIKit

class HomeVC: UIViewController {

let addGroupBtn = UIButton(frame: CGRect(x: 0, y: 0, width: 50, height: 50))
let addGroupLabel = UILabel()

override func viewDidLoad() {
    super.viewDidLoad()
    view.backgroundColor = UIColor(red: 110/255, green: 178/255, blue: 87/255, alpha: 1.0)
    setAddGroupBtn()
}

func setAddGroupBtn(){
    addGroupBtn.setImage(UIImage(named: "addIcon"), for: .normal)
    addGroupBtn.addTarget(self, action: #selector(moveToAddGroup), for: .touchUpInside)
    addGroupBtn.translatesAutoresizingMaskIntoConstraints = false

    self.view.addSubview(addGroupBtn)

    addGroupBtn.topAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.topAnchor, constant: 50).isActive = true
    addGroupBtn.leadingAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.leadingAnchor, constant: 14).isActive = true
}

func setAddGroupLabel(){
    addGroupLabel.translatesAutoresizingMaskIntoConstraints = false
    addGroupLabel.text = "Add Group"
}

@objc func moveToAddGroup(){
    print("ADD GROUP")
    //Move to another VC
}
}

我在Stackoverflow和其他地方嘗試了幾種不同的解決方案,但是沒有任何效果。 它總是這樣: 在此處輸入圖片說明

您需要Plus widthAnchorheightAnchor

NSLayoutConstraint.activate([
    addGroupBtn.topAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.topAnchor, constant: 50),
    addGroupBtn.leadingAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.leadingAnchor, constant: 14),
    addGroupBtn.widthAnchor.constraint(equalToConstant:50),
    addGroupBtn.heightAnchor.constraint(equalToConstant:50)
]) 

由於按鈕具有固有的內容大小,因此可以根據其內容進行拉伸

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM