iOS 7的UIDatePicker高度不一致?

在iOS 7中使用UIDatePicker元素和Storyboards时,我遇到了一些奇怪的事情。在Storyboard中,dateselect器的固定高度为162.但是实际上,元素占用的空间比这更大。 所以这

故事板

变成这样:

模拟器

所以我必须把它放在下面,猜测和目测dateselect器实际使用的空间。 这是一个错误? 难道我做错了什么? 要清楚,dateselect器是完全透明的 – 不能找出解决办法。 顶部的白色背景是主要的UIView,灰色背景是UITableViewembedded在容器视图中的背景。

我可以确认在故事板中使用UI(Date)Picker高度(162.0)与“现实”(216.0)的高度不同。 因此,您必须将空间调整到容器视图以适应“真实”dateselect器高度,或尝试使用自动布局解决此问题。

我刚刚发现了一个有趣的技巧:将UIDatePicker放在一个高度为162点的专用视图内(从该select器的顶部和底部向该新的超级视图添加0点垂直约束)。 这似乎有迫使捡取器保持162点的大小的效果。

您可以添加修剪子视图的选项,以确保UIDatePicker不会从新监狱中逃脱。

编辑:经过一些更多的testing,似乎通过只添加162点的高度限制到UIDatePicker ,它将保持其“IB大小”。 而且,要回答@安德鲁的评论,下面是它的样子:

UIDatePicker约束为162点高度

您可以通过简单地给它的宽度和高度的限制来改变宽度和高度。 没有这样做,UIDatePicker只是奇怪,我发现。

将我的UIDatePicker对象上的clipsToBounds属性设置为YES帮助了我。

 datePicker.clipsToBounds = YES; 

对于XIB,您可以直接勾选剪辑子视图的checkbox: