日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

WKInterfaceImage 无法更新图片的问题

發布時間:2023/12/10 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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對象,但是很遺憾,我這里一旦發現緩存中有圖片,再賦值的時候,圖片就無法更新了,好奇怪。。。。。歡迎大家一起討論。

轉載于:https://www.cnblogs.com/lihaiyin/p/4615234.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的WKInterfaceImage 无法更新图片的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。