【问题标题】:Appcelerator Button image not changing in iosAppcelerator按钮图像在ios中没有改变
【发布时间】:2017-01-12 06:35:21
【问题描述】:

您好,我正在使用UIButton,我想在touchstarttouchend 事件上更改其image 属性。 这是我正在关注的事情

$.button.addEventListener('touchstart',function(e){
   e.source.image="image-pressed.png"; 
});

$.button.addEventListener('touchend',function(e){
   e.source.image="image-normal.png"; 
});

但我想知道它不会发生图像不会在这些事件上发生变化,尽管在两个触摸事件上都正确触发了事件。

请指导我如何为按钮放置正常和按下的图像。

谢谢。

【问题讨论】:

  • 只需在 e.source.image="image-pressed.png" 中进行调试即可;这样你就可以知道这个函数是否真的调用了?
  • 如果你在谈论触摸事件,是的,它的调用是正确的。但是图像并没有改变很奇怪。
  • 'e' 是你的按钮?
  • e 是从该实例触发的事件实例,我们通过e.source 获取 UI 元素,我也尝试过$.button.image="image-normal.png";,但同样的结果不起作用。
  • 把图片放到images文件夹里,把路径改成images/....png再试一次

标签: ios image button appcelerator


【解决方案1】:

试试这个:

$.button.addEventListener('touchstart',function(e){
   $.button.image = "image-pressed.png"; 
});

$.button.addEventListener('touchend',function(e){
   $.button.image = "image-normal.png"; 
});

也可能发生您的事件冒泡到其任何父级或父级的父级(如果父级附加了此类事件),这意味着 e.source 将不是按钮本身。因此,使用 $.Button_ID 访问图像或标题等属性始终是安全的。

【讨论】:

  • 检查我上面的 cmets 我提到这个解决方案也不起作用。
  • 您的图片位置在哪里?这没有什么难的。我在这里尝试过,它按预期工作。所以你可能错过了一个非常重要的点。
  • 图片位置是assets/iphone/image-normal.png我正在使用合金项目。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-25
相关资源
最近更新 更多