【问题标题】:move a uipickerview移动一个uipickerview
【发布时间】:2011-06-13 11:02:20
【问题描述】:

我有这个问题: 如果我使用 uidatepicker,一切正常: 我有这个代码:

datePickerView.frame = CGRectMake(0, 264, 320, 216);
datePickerView.bounds = CGRectMake(0, -108, 320, 216);

并且日期选择器在底部的一半(就像我想要的那样(仅用于测试))

但如果我使用 uipickerview,我使用相同的代码:

genderPickerView.frame = CGRectMake(0, 264, 320, 216);
genderPickerView.bounds = CGRectMake(0, -108, 320, 216);

但是选择器视图在底部,而不是像日期选择器那样在底部的一半...... 有什么问题?? 提前致谢!

【问题讨论】:

    标签: ios uiview positioning uipickerview uidatepicker


    【解决方案1】:

    这是因为您更改了视图的绘制边界。我想为什么选择器视图之间存在差异的答案是由于每个控件的实际实现 - 一个必须在边界原点绘制,而另一个必须在框架原点绘制。

    通过将边界的 y 原点设置为 -108,视图的可绘制区域原点现在比实际视图位置高 108 像素。通常,您永远不想在边界上设置原点,尤其是当您不拥有控件时。只需使用帧位置:0,156、320、216,它们的行为应该相同。

    有关何时应使用框架、边界或中心视图属性的详细说明,请参阅UIView's frame, bounds, center, origin, when to use what?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多