Codename One iOS选择器样式错误

3
我在我的iOS构建中遇到了选择器组件的问题。 iOS Picker normal image iOS Picker error image 第一张图片展示了选择器的正常外观。第二张图片展示了当选择器被聚焦后,它的大小发生了变化,但是它应该保持不变。
以下是我的选择器代码:
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上,Picker正常工作。我有两个iOS设备,具有完全相同的行为。
  • iPhone 5s,iOS 8.1
  • iPad

我不知道我有哪种iPad,因为我现在没有它。我稍后会添加这个信息。

任何想法为什么Picker会这样做吗?

2个回答

0

这种情况通常发生在选中/未选中/按下状态之间的边距不相同时,选择时会触发调整大小,但如果没有重新验证大小,则大小不会回退。

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


正如我在之前的帖子中提到的那样,我已经为所有三种状态(选中/未选中/按下)设置了相同的样式。我再次检查了一遍,它们都具有相同的填充/边距。还有其他想法吗? - Stoffl
更高的是空的,而较低的则被填充。当您输入文本时,您是否会更改文本字段的内容?您是否混淆了具有不同默认UIID的TextField/TextArea? - Shai Almog
上述两个是标准UIID Textfield的两个文本字段。它们在三种状态(选定/未选定/按下)下也具有相同的样式。当我输入时,我不会更改Textfield的任何内容,也不会混合使用TextFields / TextAreas。在此表单中,仅包含TextFields和Pickers。 - Stoffl
我一直在匆忙地浏览,完全没有注意到最后一个条目是一个选择器。选择器的核心区别在于它内部是一个按钮,因此主要区别在于它具有按下状态并使用TextField UIID。确保也覆盖了按下状态(我知道你说过你做了,但这必须是区别),并确保所有4个状态的边距相同。 - Shai Almog

0

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接