能否在VS的Xamarin.iOS项目中启用带PDF矢量图的Asset Catalog并开启Preserve Vector Data?
在Visual Studio的Xamarin.iOS项目中启用PDF矢量图的「Preserve Vector Data」
嘿,这个问题我刚好折腾过,答案是肯定的——你完全可以在Visual Studio的Xamarin.iOS项目里实现和Xcode 9一样的效果,不过操作方式和Xcode的可视化界面有点不一样,我给你一步步说清楚:
第一步:确认PDF图片已加入Asset Catalog
先把你的PDF矢量图添加到项目的Assets.xcassets目录下,创建对应的imageset(或者直接拖入现有集合)。第二步:手动编辑Contents.json文件
Visual Studio目前没有直接提供启用「Preserve Vector Data」的UI选项,所以我们需要手动修改Asset Catalog的配置文件:- 找到对应PDF图片的imageset文件夹(比如
MyVectorIcon.imageset),打开里面的Contents.json文件。 - 在图片条目里添加
"preserves-vector-representation": true字段,修改后的JSON示例如下:
{ "images": [ { "filename": "MyVectorIcon.pdf", "idiom": "universal", "preserves-vector-representation": true } ], "info": { "version": 1, "author": "xcode" } }- 找到对应PDF图片的imageset文件夹(比如
第三步:验证效果
保存修改后,重新编译你的Xamarin.iOS项目。这样设置后,iOS系统就会保留PDF的矢量数据,图片在缩放、适配不同分辨率设备时不会出现模糊,和Xcode里启用「Preserve Vector Data」的效果完全一致。
额外提示
- 这个功能仅对iOS 11及以上版本生效,不过现在绝大多数iOS设备都满足这个版本要求了。
- 如果你觉得手动编辑JSON麻烦,也可以先在Xcode里配置好Asset Catalog的「Preserve Vector Data」,再把整个
Assets.xcassets文件夹复制到Xamarin.iOS项目中,这样更省心。
内容的提问来源于stack exchange,提问作者appd234
相关产品推荐
相关产品推荐

