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对象,但是很遗憾,我这里一旦发现缓存中有图片,再赋值的时候,图片就无法更新了,好奇怪。。。。。欢迎大家一起讨论。
WKInterfaceImage 无法更新图片的问题的更多相关文章
- 基于Python实现matplotlib中动态更新图片(交互式绘图)
最近在研究动态障碍物避障算法,在Python语言进行算法仿真时需要实时显示障碍物和运动物的当前位置和轨迹,利用Anaconda的Python打包集合,在Spyder中使用Python3.5语言和mat ...
- 解决 viewer.js 动态更新图片导致无法预览的问题
1.viewer.js 使用 Demo http://fengyuanchen.github.io/viewerjs/ 2.viewer.js 下载地址 https://github.com/feng ...
- ASP.NET MVC图片管理(更新)
Insus.NET在ASP.NET MVC专案中,实现了图片管理,上传,预览,显示,删除等功能,还差一个功能,就是更新图片的功能,那这次来完成它.你可以先参考前2篇<ASP.NET MVC图片管 ...
- python tkinter GUI绘制,以及点击更新显示图片
tkinter 绘制GUI简单明了,制作一些简单的GUI足够,目前遇到的一个问题是不能同时排列显示多幅图片(目前没找到同时显示解决方法), 退而求其次,改成增加一个update按钮,每次点下按钮自动更 ...
- 改变src图片不更新
var url = response + "?r" + Math.random();[完美解决修改src不更新图片]$('#loginimage').attr("src& ...
- Android之仿微信图片选择器
先上效果图.第一张图显示的是“相机”文件夹中的所有图片:通过点击多张图片可以到第二张图所示的效果(被选择的图片会变暗,同时选择按钮变亮):点击最下面的那一栏可以到第三张图所示的效果(显示手机中所有包含 ...
- iOS开发——高级篇——图片轮播及其无限循环效果
平时APP中的广告位.或者滚动的新闻图片等用到的就是图片轮播这种效果,实现方式主要有两种,一种是ScrollView+ImageView,另一种则是通过CollectionView,今天总结的是Scr ...
- 限制Xamarin获取图片的大小
限制Xamarin获取图片的大小在App开发中,经常会使用网络图片.因为这样不仅可以减少App的大小,还可以动态更新图片.但是手机使用网络环境千差万别.当网络环境不是理想的情况下,加载网络图片就是一个 ...
- 仿网易新闻 ViewPager 实现图片自动轮播
新闻 App 首页最上方一般会循环播放热点图片,如下图所示. 本文主要介绍了利用 ViewPager 实现轮播图片,图片下方加上小圆点指示器标记当前位置,并利用 Timer+Handler 实现了自动 ...
随机推荐
- 从github上获取资源速度慢的解决办法
今天在github上clone一个仓库的时候,速度非常慢,只有3kb/s,开代理也没用,网上找到的各种git config的方法也没有用,最后想到设置hosts试试.于是在git的安装目录下找到了/e ...
- app启动速度
跟踪代码发现,应用启动时的白屏会持续到draw调用完成,这个过程中任何耗时操作将导致白屏时间增长. 1.adb shell am start -W -n yourpakagename/MainActi ...
- luogu p1268 树的重量——构造,真正考验编程能力
题目链接:http://www.luogu.org/problem/show?pid=1268#sub -------- 这道题费了我不少心思= =其实思路和标称毫无差别,但是由于不习惯ACM风格的题 ...
- lua 位运算
bit = {data32={}} , do bit.data32[i] = ^(-i) end function bit:d2b( arg ) local num = tonumber( arg ) ...
- PostMan插件安装
一直没装上postman,今天运气好,竟装上了 给大家show一下吧,也希望大家跟我一样走弯路甚至于走不过去!:) 1.下载Postman_v4.1.3.rar,这个是我测试验证并打包的: 加QQ群: ...
- SAX解析xml文件
需要做一个银行名字的列表. 因为有很多,所以想到了用xml来保存,然后uongDAX解析. public class BankSelectActivity extends BaseActivity{ ...
- Samba网络配置
Samba网络配置 操作环境 ubuntu14.04 1. 更新Linux源列表 sudo apt-get update 2. 安装Samba服务 sudo apt-get install samba ...
- Android修改Eclipse 中的Default debug keystore路径,以及修改android的AVD默认路径
初学android,光是配置Eclipse就走了不少弯路,班里面有很多同学的计算 机名都是写的自己的中文姓名,结果导致了AVD文件默认保存在“C:\user\<username>\.and ...
- Windows 8.1 应用开发文章汇总
Windows 8.1 应用再出发 - C# + XAML 1. Windows 8.1 应用再出发 - 创建我的第一个应用 2. Windows 8.1 应用再出发 - 几种常用控件 3. Win ...
- 一致性Hash算法
from wikipedia 一致哈希 历史 1997年由MIT的Karger等在一篇学术论文中提出如何将“一致性Hash”应用于用户易变的分布式Web服务中.也可用于实现健壮缓存来减少大型Web应用 ...