Ios 如何更改Uipickerview位置?

Ios 如何更改Uipickerview位置?,ios,swift3,uipickerview,Ios,Swift3,Uipickerview,这是故事板 我创建了一个这样的选择器视图 pickerView = UIPickerView() pickerView.center = view.center view.addSubview(pickerView) pickerView.dataSource = self pickerView.delegate = self 当我运行应用程序选择器视图时,会显示为这样。 但是我想要更改位置pickerview。我如何才能做到这一点?您必须设置布局约

这是故事板

我创建了一个这样的选择器视图

    pickerView = UIPickerView()
    pickerView.center = view.center
    view.addSubview(pickerView)
    pickerView.dataSource = self
    pickerView.delegate = self
当我运行应用程序选择器视图时,会显示为这样。


但是我想要更改位置pickerview。我如何才能做到这一点?

您必须设置布局约束才能根据需要更改pickerview的位置

如果设置下面的线,它将显示视图的中心

pickerView.center = view.center
您必须针对superview设置约束值,或将其设置为所需的位置


如果以编程方式添加某些内容(调用addSubView:),则必须以编程方式执行自动布局,以便以正确的顺序定位视图

关于这方面有很多教程。我只是给你一些例子。假设你想把你的PickerView

Left position : 20px

Top position : 100px
你必须先写在下面,为什么?只需谷歌一下就可以了。:)

我正在使用锚定。因为代码大大减少了。多亏了苹果

 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.layer.anchorPoint.ypickerView.layer.anchorPoint.y这对我有用为什么?这有用吗?看。主播点和我提到的(主播)完全不同。看看这个。这是一个很好的主持人指南
 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