Ios Apple watch multiple Assets.xAssets文件夹用途
中的Ios Apple watch multiple Assets.xAssets文件夹用途,ios,swift,xcode,apple-watch,watchos,Ios,Swift,Xcode,Apple Watch,Watchos,中的Assets.xcsets之间有什么区别 1) WatchKit应用程序 2) 手表套件分机 我不确定该将图像放在哪个文件夹中 我需要访问界面.情节提要中的图像(例如testImage.png),该图像位于WatchKit App文件夹和WatchKit Extension中。在控制器中,我使用以下方法进行设置: let menuIcon: UIImage? = UIImage(named: menu.iconName) 我试过: 选项1: 1) 在WatchKit应用程序和WatchKi
Assets.xcsets
之间有什么区别
1) WatchKit应用程序
2) 手表套件分机
我不确定该将图像放在哪个文件夹中
我需要访问界面.情节提要
中的图像(例如testImage.png),该图像位于WatchKit App
文件夹和WatchKit Extension
中。在控制器中,我使用以下方法进行设置:
let menuIcon: UIImage? = UIImage(named: menu.iconName)
我试过:
选项1:
1) 在WatchKit应用程序和WatchKit扩展程序中放置图像
这意味着在两个Assets.xcsets
文件夹中有重复的图像
选项2:
1) 仅在WatchKit App
中放置图像,并更改Assets.xcsets
的目标成员身份,以支持WatchKit App
和WatchKit扩展
哪种方法更好?或者有更好的方法吗?这似乎是watchOS 1在iPhone上实际运行WatchKit扩展并将信息和资源发送到手表上运行的WatchKit应用程序时的遗留问题
有些调用仅适用于WatchKit应用程序的Assets.xcsets文件夹,例如setImageNamed:
或setBackgroundImageNamed:
有几种方法可以更改接口对象的当前图像:
- 使用setImageName:或setBackgroundImageName:方法分配已在Watch app捆绑包中的图像
- 使用setImage:、setImageData:、setBackgroundImage:、或setBackgroundImageData:>方法将图像数据从WatchKit扩展传输到Watch应用程序
按名称指定图像更有效,因为只有名称字符串必须传输到您的Watch应用程序。watchOS在您的手表应用程序包中搜索具有指定名称的图像文件。高效指定图像的最有效方法是将它们存储在Watch应用程序包中,并根据需要使用setImageName:或setBackgroundImageName:来配置相应的对象
在WatchKit扩展中创建的图像必须先传输到Watch应用程序,然后才能使用。例如,在扩展中使用ImageName:方法从WatchKit扩展的捆绑包中加载图像,而不是从Watch应用的捆绑包中加载图像。然后可以调用setImage:方法,传入image对象。WatchKit扩展自动将图像传输到Watch应用程序进行显示。虽然与直接从Watch应用程序包加载图像相比,这有一些额外的开销,但它不应该对性能或电池寿命产生重大影响
就我个人而言,我不会将图像放在这两个文件夹中,因为这会增加应用程序的大小。我倾向于将故事板设置的图像放在WatchKit应用程序的文件夹中,以及将在扩展中以编程方式更改的所有图像