[英]Swift3 center UIbutton
好的,我在.swift故事板上添加了一個按鈕,然后在我的ViewController.swift中添加了以下代碼
@IBOutlet weak var HelloButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
HelloButton.frame.origin.x = view.frame.size.width / 2
}
但是,當我在iPhone 5s上對其進行測試時,它將其移動到屏幕右側,並且沒有使其居中。 我不確定如何使按鈕居中。
是的,這是我的第一個helloWorld應用程序,也許在我頭上,但是我了解Web編程,並且我知道要使其自動居中,我需要總屏幕顯示寬度和按鈕寬度。 然后,我需要對按鈕說,將屏幕視圖寬度除以2。
例如在CSS中,我們這樣做
#button{margin:0 auto;}
但這不是HTML或CSS。 它是SWIFT3
嘗試這個:
HelloButton.center.x = view.frame.width/2
您的信息不正確,因為origin.x
是按鈕視圖的第一個點(左上角),而不是視圖的中心,您可以將其背景顏色更改為其他顏色以查看它
另外,變量名稱應為lowerCase,后跟代碼約定
您應該使用Autolayout來完成所需的操作 ,並且操作方式類似於Main.storyboard內部的ViewController中的以下操作 :( 控件+鼠標左鍵 ->向上拖動藍線 ,然后釋放控件 , 然后單擊鼠標左鍵 ,您將看到彈出窗口 )
在彈出窗口中,選擇以下選項:
但是,如果要以編程方式進行操作,請在viewWillLayoutSubviews方法中進行操作:
class ViewController: UIViewController {
@IBOutlet weak var button: UIButton!
override func viewWillLayoutSubviews() {
super. viewWillLayoutSubviews()
button.center = view.center
}
}
在您的項目中啟用了自動排版嗎? 如果啟用了自動版式,則在viewdidLoad:中更改UI可能不會給出適當的結果。 使用-viewWillLayoutSubviews方法執行UI任務,它要使按鈕居中
myButton.center = self.view.center
希望它能工作。
以這種方式將代碼添加到viewDidAppear
,以顯示實際視圖。 另外,如果要居中,則應使用button.center.x
而不是button.frame.origin.x
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.