2017-05-19 54 views
1

這是故事板我如何更改Uipickerview的位置?

enter image description here

創建這樣的一個選擇器視圖;

pickerView = UIPickerView() 
    pickerView.center = view.center 
    view.addSubview(pickerView) 
    pickerView.dataSource = self 
    pickerView.delegate = self 

當我運行應用程序選擇器視圖顯示那樣。 enter image description here

但我想改變位置pickerview.How我可以做到嗎?

+0

您是否設置了自動佈局? –

回答

0

如果以編程方式添加的東西(主叫addSubView :)你必須以定位在正確的順序設置視圖編程方式完成自動佈局。

有很多隻字不提教程我只是給你一些例如約it.Suppose,如果你想要把你PickerView

Left position : 20px 

Top position : 100px 

你必須先寫下面line.Why?只是谷歌它。 :)

pickerView.translatesAutoresizingMaskIntoConstraints = false 

我正在使用anchoring.Because代碼是非常減少。謝謝蘋果。

pickerView.leadingAnchor.constraint(equalTo: self.view.leadingAnchor, constant: 20.0).isActive = true 
pickerView.topAnchor.constraint(equalTo:self.view.topAnchor, constant: 100.0).isActive = true 

當然,你必須在添加子視圖後添加這個。順便說一句,從代碼中刪除此行。您可以使用自動佈局中心對齊。 :)

pickerView.center = view.center 
+0

pickerView.layer.anchorPoint.y這對我工作爲什麼?它使用不好嗎? – learning

+0

看。 anchorPoint和我提到的(leadingAnchor)完全不同。 只需閱讀本文。這是一個很好的教程AnchorPoint http://ronnqvi.st/about-the-anchorpoint/ –

0

您必須設置佈局約束來根據您的要求更改pickerview的位置。

如果你設置以下線會顯示視圖

pickerView.center = view.center 

你必須設置關於上海華或作爲您需要的位置約束值的中心。

How to add constraint from storyboard

+0

我使用這樣的工作,它pickerView.layer.anchorPoint.y – learning