42

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

故事板

变成这样:

模拟器

所以我必须把它下面的所有东西都移下来,猜测并观察日期选择器实际使用的空间。这是一个错误吗?难道我做错了什么?需要明确的是,日期选择器是完全透明的 - 无法解决这个问题。顶部的白色背景是主 UIView,灰色背景是嵌入在容器视图中的 UITableView 的背景。

4

4 回答 4

41

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

于 2013-09-24T13:43:33.943 回答
20

这是我刚刚发现的一个有趣的技巧:将UIDatePicker高度约束为 162 点的专用视图放入内部(从选择器的顶部和底部添加 0 点垂直约束到这个新的超级视图)。这似乎有强制选择器保持 162 点大小的效果。

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

编辑:经过更多测试,似乎只需向 162 点添加高度约束UIDatePicker,它将保持其“IB 大小”。而且,为了回答@Andrew 的评论,它看起来像这样:

UIDatePicker 约束高度为 162 点

于 2014-03-13T14:50:14.333 回答
2

您可以通过简单地给它宽度和高度约束来更改宽度和高度。我发现,如果不这样做,UIDatePicker 就会表现得很奇怪。

于 2015-12-03T16:12:36.440 回答
1

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

datePicker.clipsToBounds = YES;

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

于 2016-07-22T07:47:14.020 回答