iOS 7 UIDatePicker高度不一致?

时间:2013-09-23 23:43:38

标签: iphone ios uikit ios7 uistoryboard

在iOS 7中使用带有Storyboard的UIDatePicker元素时,我遇到了一些奇怪的事情。在Storyboard中,日期选择器的固定高度为162.但实际上,元素占用的空间比这要多。所以这个

Storyboard

变成了这个:

Simulator

因此我必须将其下方的所有内容移动,猜测并注意日期选择器实际使用的空间。这是一个错误吗?难道我做错了什么?要明确的是,日期选择器是完全透明的 - 无法找到解决方法。顶部的白色背景是主要的UIView,灰色背景是嵌入容器视图内的UITableView的背景。

4 个答案:

答案 0 :(得分:39)

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

答案 1 :(得分:20)

这是我刚刚找到的一个有趣的技巧:将UIDatePicker置于专用视图中,其高度为162点(从选择器的顶部和底部向此新的超视图添加0点垂直约束)。这似乎会强迫选择器保持162点的大小。

您可以添加剪切子视图的选项,以确保UIDatePicker不会逃离新监狱。

编辑:经过一些更多的测试后,似乎只需要向UIDatePicker添加162点的高度约束,它就会保持“IB大小”。而且,为了回答@Andrew的评论,这就是它的样子:

UIDatePicker constraint to 162 point in height

答案 2 :(得分:1)

您可以通过简单地给出宽度和高度约束来更改宽度和高度。如果不这样做,我发现UIDatePicker只是行为怪异。

答案 3 :(得分:0)

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

datePicker.clipsToBounds = YES;

对于XIB,您可以直接勾选Clip子视图的复选框: