我對iOS開發是全新的,我應該修復使用Swift 3.0製作的iOS應用程序中的一些錯誤和Xcode 8,它工作得很好。但是當我用Xcode 9和Swift 4.0打開它時,它顯示了一些與以前不同的按鈕方式。如何使用Swift 3.0開發的Swift 4.0更改iOS應用程序中按鈕的高度和寬度
以下是其中一個按鈕的源代碼。
let button: UIButton = UIButton.init(type: UIButtonType.custom)
//set image for button
button.setImage(UIImage(named: "menu.png"), for: UIControlState())
button.frame = CGRect(x: 0, y: 0, width: 30, height: 23)
let barButton = UIBarButtonItem(customView: button)
button.addTarget(self, action: #selector(ViewController.shareButtonPressed), for: UIControlEvents.touchUpInside)
self.navigationItem.leftBarButtonItem = barButton
此代碼位於ViewDidLoad方法內部。我的問題是,當我刪除,
button.setImage(UIImage(named: "menu.png"), for: UIControlState())
消失的按鈕,但是當我改變高度和寬度,
button.frame = CGRect(x: 0, y: 0, width: 30, height: 23)
它改變不了什麼。 我的問題是我該如何解決這個錯誤。任何建議,答覆高度讚賞,如果給出的細節不夠,請提及。謝謝!
謝謝你的答案。它的工作原理,因爲這 '如果#available(的iOS 9.0,*){ button.widthAnchor.constraint(equalToConstant:20.0).isActive =真 }其他{// 後退在早期版本 }' –
是。錨點是在iOS 9中引入的。如果你的目標是低於這個目標,你需要'#available',但是如前所述,約束大小隻能在iOS 11及更高版本上應用。 – beyowulf