如何更改 Uipickerview 位置?
Posted
技术标签:
【中文标题】如何更改 Uipickerview 位置?【英文标题】:How can i change Uipickerview position? 【发布时间】:2017-05-19 11:39:53 【问题描述】:这是故事板
我创建了一个这样的选择器视图;
pickerView = UIPickerView()
pickerView.center = view.center
view.addSubview(pickerView)
pickerView.dataSource = self
pickerView.delegate = self
当我运行应用程序选择器视图时,会像这样显示。
但我想要更改位置pickerview。我该怎么做?
【问题讨论】:
你设置了自动布局吗? 【参考方案1】:如果您以编程方式添加某些内容(调用 addSubView:),您必须以编程方式进行自动布局,以便以正确的顺序定位您的视图。
有很多关于这个的教程。我只是给你一些例子。假设你想把你的 PickerView
Left position : 20px
Top position : 100px
你必须先写下一行。为什么?只是谷歌它。 :)
pickerView.translatesAutoresizingMaskIntoConstraints = false
我正在使用锚定。因为代码大大减少了。感谢 Apple。
pickerView.leadingAnchor.constraint(equalTo: self.view.leadingAnchor, constant: 20.0).isActive = true
pickerView.topAnchor.constraint(equalTo:self.view.topAnchor, constant: 100.0).isActive = true
当然你必须在添加 subView 之后添加这个。顺便从您的代码中删除这一行。您可以使用自动布局居中对齐。 :)
pickerView.center = view.center
【讨论】:
pickerView.layer.anchorPoint.y 这对我有用,为什么?不好用吗? 看。 anchorPoint 和我提到的(leadingAnchor)完全不同。只是读这个。是 AnchorPoint ronnqvi.st/about-the-anchorpoint 的好教程【参考方案2】:您必须设置布局约束以根据您的要求更改pickerview的位置。
如果您设置以下行,它将显示视图的中心
pickerView.center = view.center
您必须根据 superview 或您所需的位置设置约束值。
【讨论】:
我就是这样用的,pickerView.layer.anchorPoint.y以上是关于如何更改 Uipickerview 位置?的主要内容,如果未能解决你的问题,请参考以下文章