WKInterfaceImage 无法更新图片的问题
最近涉及到AppleWatch的相關項目,但有個奇怪問題無法解決,而且無法理解:
根據(jù)不同的用戶操作,需要修改播放器的專輯圖片。
不知道跟我的項目需求是不是有關系:我需要輪詢共享空間,以拿取同步數(shù)據(jù),是否是性能的問題?不曉得
我嘗試過的方法如下:
1. WKInterfaceImage繼承關系是:->?WKInterfaceObject ->?NSObject,無法用UIView的一些方法來移除圖片再把新的圖片加進去(addSubview,removeFromSuperView)
2. 沒有setNeedDisplay等相應的強制刷新方法
3. 只有setHidden方法靠點譜,但嘗試后依然無效
4. 我嘗試用兩張不同的圖片來回替換,并調(diào)用setHidden方法,依然無效
5. stackoverflow上有個問題是類似的:WKInterfaceTable中的cell里有WKInterfaceImage,在復用舊的cell的時候,發(fā)現(xiàn)舊圖片內(nèi)容沒有被替換,得到的答案是:這是一個bug,已經(jīng)在xcode6.2解決(天哪,我的是6.3.2,但依舊沒解決啊),給出的臨時解決方案是:在賦值新的圖片內(nèi)容之前,先賦值nil。
[self.image setImageNamed:nil]; //也可以是空字符串 [self.image setImageNamed:@"XXXX"];但~~~我這里依舊無效。
6. 最終解決方案是:在發(fā)現(xiàn)需要更新圖片的時候,用GCD的延遲方法來執(zhí)行相關代碼。但我不知道是不是由于Watch和iphone之間的同步通信效率低下導致的???
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{});另外:傳說中WKInterfaceDevice可以存儲緩存,并且可以通過key值賦值給image對象,但是很遺憾,我這里一旦發(fā)現(xiàn)緩存中有圖片,再賦值的時候,圖片就無法更新了,好奇怪。。。。。歡迎大家一起討論。
轉載于:https://www.cnblogs.com/lihaiyin/p/4615234.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結
以上是生活随笔為你收集整理的WKInterfaceImage 无法更新图片的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: angular input使用输入框fi
- 下一篇: OpenGL ES 2.0 for iP