【问题标题】:Xamarin Image Assets for Size Classes大小类的 Xamarin 图像资产
【发布时间】:2016-05-07 10:54:15
【问题描述】:

我正在为 iOS 构建一个通用 Xamarin 应用程序。我正在启动屏幕上工作,并尝试使用尺寸类来修改 iPhone 和 iPad 设备的布局。定位工作正常,但是当我尝试设置图像资产时出现问题。

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

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

我已经求助于使用 Xcode 的工具,因为我无法在 Xamarin 中找到一种方法来获取不同尺寸类别的单个图像集中的图像。我相信我遇到的问题一定是 Xamarin 中的问题,不尊重 Xcode 中设置的属性。

我的问题是,有没有人能够让它在 Xamarin 上运行,如果可以,如何实现?

谢谢!

【问题讨论】:

    标签: ios xcode xamarin.ios


    【解决方案1】:

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

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

    其次,继续使用你想要的大小类,但不要担心更改图形名称,也不要担心在 [regular, regular] 类中看不到图像预览。

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

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

    希望这可以帮助其他人不要花费两个小时来处理 Xamarin 的缺点 :)

    【讨论】:

      猜你喜欢
      • 2012-07-19
      • 1970-01-01
      • 1970-01-01
      • 2016-12-14
      • 2015-05-25
      • 2016-01-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多