UIPickerView 忽略约束

UIPickerView ignoring contraints

我的应用程序中有一个包含 UIPickerView 的视图。委托和数据源已设置并且选择器正确加载数据,但是,无论我尝试了什么,它都完全忽略故事板约束并转移到视图顶部。

下面的屏幕截图显示了情节提要中的对齐方式(选择器居中对齐 vertical/horizontal 到蓝色视图(所有边的约束为 30)以及应用程序 运行 时的对齐方式] 6S.

知道我做错了什么吗?

删除[self.view addSubview:self.mouthpiecePicker];这是重新添加选择器视图,但它已经与 Storyboard 一起添加了。当您重新添加它时,它会删除所有约束。

UIPickerView 对 setFrame 的实现很繁琐:-它只允许自己以少数几种尺寸呈现。 control/overcome 最简单的方法是将它放在容器视图中并将约束应用于该视图。您可以覆盖该 containerView 中的 layoutSubviews 以使选择器居中,甚至可以应用转换来缩放它。不要尝试在此代码中设置 pickerview 的大小,只需查询(获取)它然后计算该值即可。