【问题标题】:Codename One iOS Picker Style Error代号一 iOS 选择器样式错误
【发布时间】:2016-04-27 21:18:22
【问题描述】:

我的 iOS 版本中的 Picker 组件有问题。

在第一张图片中,您可以看到 Picker 的正常外观。在第二张图片中,您可以看到 Picker 在聚焦后改变了大小,但应该保持不变。

这是我的 Picker 代码:

Picker pickFamilienstand = findPickFamilienstand(f);
pickFamilienstand.setType(Display.PICKER_TYPE_STRINGS);
pickFamilienstand.setStrings("Familienstand","Ledig","Verheiratet");
pickFamilienstand.setText("Familienstand");
pickFamilienstand.setRenderingPrototype("Familienstand");

在 Codename One Designer 中,我已将组件添加到表单并设置其 UIID。我还通过 Codename One Designer 定制了设计。我在三个类别(未选择、已选择和已按下)中设置了相同的样式。在 Android 上,选择器工作正常。我有两个行为完全相同的 iOS 设备。

  • iPhone 5s、iOS 8.1
  • iPad

我不知道我有哪款 iPad,因为我现在没有它。我稍后会添加。

任何想法为什么选择器会这样做?

【问题讨论】:

    标签: ios codenameone


    【解决方案1】:

    This happens when margin isn't identical between the selected/unselected/pressed states triggering a resize on selection but with no revalidate the size doesn't go back.

    您需要确保在所有状态中将填充/边距定义为相同的值。

    【讨论】:

    • 正如我在上一篇文章中提到的,我为所有三种状态(选中/未选中/按下)设置了相同的样式。我又检查了一遍,它们都有相同的填充/边距。还有其他想法吗?
    • 较高的为空,较低的为填充。当您输入文本字段时,您会更改文本字段的内容吗?您是否混合了具有不同默认 UIID 的 TextField/TextArea?
    • 上面两个是两个TextField,带有标准的UIID Textfield。它们在三种状态(选中/未选中/按下)中也具有相同的样式。当我输入文本字段时,我不会更改有关文本字段的内容,也不会混合 TextFields/TextAreas。在这个表单中只有 TextFields 和 Pickers。
    • 我浏览得太快了,完全错过了最后一个条目是选择器的事实。选择器的核心区别在于它在内部是一个按钮,因此主要区别在于它具有按下状态并使用 TextField UIID。确保也覆盖按下状态(我知道你说过你做了,但这 必须 有所不同)并确保所有 4 个状态的边距相同。
    【解决方案2】:

    我已经在禁用状态设置了相同的样式,现在选择器在iOS上可以正常工作了。

    【讨论】:

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