Xamarin图像资产的大小类

时间:2016-05-07 10:54:15

标签: ios xcode xamarin.ios

我正在构建适用于iOS的通用Xamarin应用程序。我正在使用启动屏幕,并尝试使用大小类来修改iPhone和iPad设备的布局。定位工作正常,但是当我尝试设置图像资产时出错了。

我正在尝试在Xcode中的XCAssets文件中使用size类功能来为不同的屏幕尺寸设置我想要的正确图像。我为iPhone设置了[any,any]([])的图像,然后我为iPad的[常规,常规]([+,+])设置了一套图像

在Xcode的界面构建器中,当在[any,any]和[regular,regular]大小类之间切换时,我可以在启动xib文件中看到正确的图像。但是,当我在我的iPad模拟器中运行时,我根本看不到任何图像。请注意,当我在iPhone模拟器中运行应用程序时,可以正确地拾取[any,any]图像。只有在我的iPad模拟器上运行时才会出现问题。

我已经使用了Xcode的工具,因为我无法在Xamarin中找到一种方法来在不同大小类的单个图像集中获取图像。我相信我遇到的问题必须是Xamarin中的一个问题,而不是尊重Xcode中设置的属性。

我的问题是,是否有人能够将此工作用于Xamarin,如果是这样的话?

谢谢!

1 个答案:

答案 0 :(得分:0)

好的,所以我找到了解决方案。事实上它似乎是Xamarin中的一个错误,并且与Xamarin一起并不总是正确地更新XIB文件。

首先,不要在Xcode中使用XCAsset文件中的size类选项。只需使用该工具的Xamarin版本,并设置图像集的iPhone和iPad变体。我使用iPhone图形的命名方案[image_name] [@ 2x | 3x]。[ext]和iPad变体的方案[image_name] ~ipad [@ 2x | 3x]。[ext]。但是,请记住,根据Apple文档,当您使用大小类时,将忽略~ipad后缀。我只是使用这个后缀使文件名在iPhone和iPad之间是唯一的。

其次,按照您的意愿继续使用大小类,但不要担心更改图形名称,也不要担心在[常规,常规]类中不会看到图像预览。

第三,在运行应用程序之前至少使用一次Xamarin clean命令,但有时需要几次尝试才能完全清理解决方案。

在这些步骤之后,图像资产通过[常规,常规]大小类为我工作。我知道这看起来很黑,可能不是“Xamarin”或“Apple”做事的方式,但它确实有效。

希望这有助于其他人不要花两个小时的时间来处理Xamarin的缺点:)