如何更改 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 位置?的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 Uipickerview 位置?

如何在 UIPickerView 上添加 UIToolbar? (iPhone/iPad)

如何根据位置更改 UIPickerView 标题文本颜色

如何使用 UIPickerView 更改按钮的操作

UIPickerView 改变框架的大小和位置

如何从另一个 UIPickerview 更改 UIPickerView 的字符串?