按钮可见性属性在 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 上不起作用的主要内容,如果未能解决你的问题,请参考以下文章

设置可见性槽属性不起作用 actionscript 3.0

为啥我的后退按钮在 iOS 7 上不起作用?

当我调用可见性时,Android 动画不起作用

带有 Bootstrap 的按钮 OnClick 事件在 iOS 上不起作用

UIButtons 在某些设备上不起作用

IOS 上的 mvvmcross 绑定问题(适用于模拟器,但某些属性在设备上不起作用)