按钮可见性属性在 Kony 的 iOS 上不起作用
Posted
技术标签:
【中文标题】按钮可见性属性在 Kony 的 iOS 上不起作用【英文标题】:Button Visibility property not working on iOS in Kony 【发布时间】:2019-04-08 01:00:47 【问题描述】:我正在 Kony 的一个项目中工作,我想在某个项目上隐藏一个按钮 条件。
我使用了下面给出的代码,它可以在 android 上运行,但不能在 ios 上运行。我还使用调试器进行了检查,一切都很好,而且我在调试模式下得到了值,即 True/False。但仅在 iOS 设备上不隐藏按钮。
最初,我将 Button 的可见性设置为“True”,并在表单的 Postshow 中调用 Service 函数。 因此,在 Postshow Call 期间,它应该检查条件并更改按钮的可见性属性。
我使用了以下代码(MVC 模式):
if(condition==true) //some condition
this.view.BtnBack.isVisible=False;
else
this.view.BtnBack.isVisible=True;
注意: 以上代码适用于 Android、SPA Android 但不适用于 iOS 设备。
救命!
【问题讨论】:
【参考方案1】:您没有将布尔值写为 True/False,而是尝试将它们设置为 true/false。因为我认为布尔值在 javascript 中不区分大小写。
【讨论】:
是的,布尔值对于 kony 中的 JS 是区分大小写的。是的,我也尝试过,但它不起作用。【参考方案2】:最后,我找到了解决方案,并且成功了。
解决办法是:
我为那个按钮创建了 2 个皮肤
1) “SkinHide” -> 背景颜色不透明度为 0%
2) “SkinHide” -> 我使用背景图像代替背景颜色并将不透明度保持为 100%。
还根据我的情况将“SetEnabled”属性应用于 True/False。
以下是代码片段:
if(id=="cat00000")
this.view.tmpHeader.btnBack.skin="SkinHide";
this.view.tmpHeader.btnBack.setEnabled(false)
else
this.view.tmpHeader.btnBack.skin="SkinShow";
this.view.tmpHeader.btnBack.setEnabled(true);
编码愉快!
【讨论】:
【参考方案3】:而不是更改小部件的属性(isVisible)。尝试使用按钮的 setVisibility 方法。我很确定它有效。 示例代码sn-p:
this.view.BtnBack.setVisibility(true); // makes the button visible
【讨论】:
以上是关于按钮可见性属性在 Kony 的 iOS 上不起作用的主要内容,如果未能解决你的问题,请参考以下文章