我的Apple Watch应用程序图像在Apple Watch Simulator上正常显示,就像在模拟器上正确显示的菜单模块菜单图像一样 我将我的应用程序上传到iTunes商店,Apple Reviews app&说它没有在Apple Watch上显示菜单图像。
任何想法为什么菜单图像在Apple Watch Simulator上显示时没有显示在Apple Watch上 我直接从故事板设置菜单图像。我应该以编程方式设置图像吗?请帮我。
答案 0 :(得分:10)
感谢您的快速帮助!每个人都是对的我们应该更喜欢使用资产目录,我想分享这个问题的一步一步解决方案,这是我从苹果开发者论坛得到的 behrens ---
如果图像是您已有的静态资源,则它们应驻留在WatchKit应用程序包中。如果它们是动态的,您可以在运行时从WatchKit扩展中设置它们。
他们必须被命名为@ 2x,是的。
将它们存储在资产目录中是您最好的选择。不确定为什么你不会这样做。
如果展开属性检查器,则可以将对资产目录中图像的支持范围缩小到仅限Apple Watch。如果您只有一个版本,请将其放入2x存储桶中。如果您有特定于设备尺寸的图像,请相应地删除它们,然后将38mm尺寸的图像添加到2x存储桶中以进行后备。
有关详细信息,请访问链接 - link
答案 1 :(得分:9)
您的图片必须位于资产目录中才能在Apple Watch的设备上显示
https://developer.apple.com/library/ios/recipes/xcode_help-image_catalog-1.0/Recipe.html
答案 2 :(得分:5)
我们有两个Assets.xcassets文件。其中一个是Interface.storyboard和捆绑Watch应用程序。第二个是捆绑扩展。如果从代码中设置了图像,则应该在包扩展名中包含此图像。
答案 3 :(得分:1)
在代码中使用图像时。使用UIImage(命名为:)初始化程序有一个小问题。它只查看本地包。我们需要将这些图像加载到Images.xcassets中以进行扩展。我们上次制作的WatchKit App文件夹中的文件不会到达这里。
import WatchKit
import Foundation
class InterfaceController: WKInterfaceController {
enum GrossMarket: Int{
case egg = 1
case apple = 2
case orange = 3
}
//preload images
let egg = UIImage(named: "egg")
let apple = UIImage(named: "apple")
let orange = UIImage(named: "orange")
}
func updateDisplay(activity:Activites){
switch activity{
case .egg:
statusImage.setImage(egg)
case .apple:
statusImage.setImage(apple)
case .orange:
statusImage.setImage(orange)
default:
statusImage.setImage(orange)
}
}
答案 4 :(得分:0)
您的图片是否存储在WatchKit应用程序包中?不幸的是,界面构建器允许您从任何捆绑包中选择图像,但只有存储在WatchKit应用程序包中的图像 - 或者由您的扩展程序传输的图像 - 在硬件上运行时才会显示。
答案 5 :(得分:0)
检查图片的分辨率。我尝试至少在Apple Watch Emulation中尝试2 Picture和最低分辨率的显示