WKInterfaceImage 无法更新图片的问题

最近涉及到AppleWatch的相关项目,但有个奇怪问题无法解决,而且无法理解:

根据不同的用户操作,需要修改播放器的专辑图片。

不知道跟我的项目需求是不是有关系:我需要轮询共享空间,以拿取同步数据,是否是性能的问题?不晓得

我尝试过的方法如下:

1. WKInterfaceImage继承关系是:-> WKInterfaceObject -> NSObject,无法用UIView的一些方法来移除图片再把新的图片加进去(addSubview,removeFromSuperView)

2. 没有setNeedDisplay等相应的强制刷新方法

3. 只有setHidden方法靠点谱,但尝试后依然无效

4. 我尝试用两张不同的图片来回替换,并调用setHidden方法,依然无效

5. stackoverflow上有个问题是类似的:WKInterfaceTable中的cell里有WKInterfaceImage,在复用旧的cell的时候,发现旧图片内容没有被替换,得到的答案是:这是一个bug,已经在xcode6.2解决(天哪,我的是6.3.2,但依旧没解决啊),给出的临时解决方案是:在赋值新的图片内容之前,先赋值nil。

[self.image setImageNamed:nil];  //也可以是空字符串
[self.image setImageNamed:@"XXXX"];

但~~~我这里依旧无效。

6. 最终解决方案是:在发现需要更新图片的时候,用GCD的延迟方法来执行相关代码。但我不知道是不是由于Watch和iphone之间的同步通信效率低下导致的???

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

});

另外:传说中WKInterfaceDevice可以存储缓存,并且可以通过key值赋值给image对象,但是很遗憾,我这里一旦发现缓存中有图片,再赋值的时候,图片就无法更新了,好奇怪。。。。。欢迎大家一起讨论。

更多相关文章
  • (1)打开vc6.0,新建一个对话框程序: (2)添加一个按钮控件和一个Edit控件 (3)使用ClasWards关联Edit控件和变量值m_editShowDir (4)双击按钮控件,为按钮控件添加函数 void CTestDlg::OnSelset() { UpdateData(TRUE); C ...
  • 文/摩摩尔2014年行将结束,这一年对于"可穿戴设备"来说是异常热闹的一年,从年初CES国际消费电子展上的抢尽风头,到占据各大科技媒体的头条:从多家新创公司的积极试水,到巨头厂商的"疯狂"跟进--种种迹象表明,可穿戴设备正在成为继手机以来又一个对人类社会产生巨 ...
  • 题目: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. 思路: 递归 注意,主要就是假定数组为空时结果为false,因为导致的递归之前需要判断左右子树是否为空,注意判断是否为空的条件. 代码: 如果假定数组为 ...
  • 虽说DOS命令已是昨日黄花,但我们不少时候仍需要用到DOS命令,因此Windows XP系统也还保留有"命令提示符",不过整天面对黑底白字的界面实在有些心里不爽,下面我们就不错助任何外来工具,手工打造个性的"命令提示符"吧. 第一步:先新建一个.cmd文件,文 ...
  • 微信是除QQ之外最受欢迎的手机聊天工具了,不仅可以用文字聊天,还可以通过语音聊天,非常的方便快捷.有时候我们在清理手机垃圾文件的时候,会错手把一些微信好友的文字或者语音信息给删掉了. 如果是工作上的信息往来记录丢失了,那会比较麻烦.其实微信聊了记录被删后,还是可以找回来的.今天小编就和大家分享:误删 ...
  • 在面向对象的编程中,对象同时包含数据和行为,这两者一起表示业务域的特定方面.使用对 象生成应用程序的优点之一是可以将所有数据操作封装在对象内.这样, 就使对象成为独立的单位,并增加了在其他应用程序中重用对象的可能性.但是,对象无法在孤立状态下工作.在除最不重要的应用程序之外的所有应用程序中,对 象必 ...
一周排行
  • // AppDelegate.m // UI2_UICollectionViewPicture // // Created by zhangxueming on 15/7/16. // Copyright (c) 2 ...
  • 直接使用JDBC访问数据库时,需要避免以下隐患: 1. 每一次数据操作请求都需要建立数据库连接.打开连接.存取数据和关闭连接等步骤.而建立和打开数据库连接是一件既耗资源又费时的过程,如果频繁发生这种数据库操作,势必会 ...
  • cocos2dx windows下开发真是波折多多啊:最近又遇到了vs2013调试状态下能播放声音,非调试状态不能播放的问题. 跟了很多代码发现原来是带了中文路径的原因.故找到问题,马上解决掉 首先找到:libAud ...
  • 宽带路由器常见故障巧排除在SOHO和中小型企业用户中,宽带路由器应用非常普遍.对于一些网络新手来说,出现一些说明手册未涉及的故障,有时难以应付.下面,笔者就一些常见的故障和问题进行分析,并提供解决方法. 一. 线路不 ...
  • 这是我从朋友的文章里摘选的,我觉得很有道理.当代的IT人确实是高薪与技术聚集的职业,但他们在工作中也要不断学习,掌握各种技能.做不被时代淘汰而且优秀的技术人才,需要具备以下几点: 1 专业能力 包括技术水平.工作经验 ...
  • #include<stdio.h>#include<math.h>int main(void){ int count,i,m,n;  count=0; for(m=2;m<=100;m+ ...
  • 函数与分组查询数据 一.系统函数 1.1聚合函数 1.SUM函数 SUM函数主要用于求某一组值的和. 例如: SELECT SUM(YEAR) AS SUM FROM STU_INFO 2.AVG函数 AVG函数主要 ...
  • /* (程序头部注释开始)  * 程序的版权和版本声明部分  * Copyright (c) 2011, 烟台大学计算机学院学生   * All rights reserved.  * 文件名称:  * 作 者: 石 ...
  • 华为官方之前在旗下的华为荣耀微博公布了一个重磅消息:华为即将推出最新旗舰机荣耀6 Plus.而这款华为新旗舰荣耀6 Plus将于今晚18点正式发布,并以"孤独求败"作为宣传口号 我们都知道华为即将 ...
  • hibernate3.6 tomcat 使用新的namespace               1 4 标签:检查hibernate recognized instead PUBLIC ...