草庐IT

ios - 大小类的 Xamarin 图像 Assets

coder 2024-01-30 原文

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

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

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

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

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

谢谢!

最佳答案

好的,所以我找到了解决方案。它似乎实际上是 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 命令一次,但有时需要多次尝试才能完全清理解决方案。

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

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

关于ios - 大小类的 Xamarin 图像 Assets ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37087655/

有关ios - 大小类的 Xamarin 图像 Assets的更多相关文章

  1. ruby-on-rails - 在 Rails 中将文件大小字符串转换为等效千字节 - 2

    我的目标是转换表单输入,例如“100兆字节”或“1GB”,并将其转换为我可以存储在数据库中的文件大小(以千字节为单位)。目前,我有这个:defquota_convert@regex=/([0-9]+)(.*)s/@sizes=%w{kilobytemegabytegigabyte}m=self.quota.match(@regex)if@sizes.include?m[2]eval("self.quota=#{m[1]}.#{m[2]}")endend这有效,但前提是输入是倍数(“gigabytes”,而不是“gigabyte”)并且由于使用了eval看起来疯狂不安全。所以,功能正常,

  2. ruby - i18n Assets 管理/翻译 UI - 2

    我正在使用i18n从头开始​​构建一个多语言网络应用程序,虽然我自己可以处理一大堆yml文件,但我说的语言(非常)有限,最终我想寻求外部帮助帮助。我想知道这里是否有人在使用UI插件/gem(与django上的django-rosetta不同)来处理多个翻译器,其中一些翻译器不愿意或无法处理存储库中的100多个文件,处理语言数据。谢谢&问候,安德拉斯(如果您已经在ruby​​onrails-talk上遇到了这个问题,我们深表歉意) 最佳答案 有一个rails3branchofthetolkgem在github上。您可以通过在Gemfi

  3. ruby - 如何验证 IO.copy_stream 是否成功 - 2

    这里有一个很好的答案解释了如何在Ruby中下载文件而不将其加载到内存中:https://stackoverflow.com/a/29743394/4852737require'open-uri'download=open('http://example.com/image.png')IO.copy_stream(download,'~/image.png')我如何验证下载文件的IO.copy_stream调用是否真的成功——这意味着下载的文件与我打算下载的文件完全相同,而不是下载一半的损坏文件?documentation说IO.copy_stream返回它复制的字节数,但是当我还没有下

  4. Ruby 文件 IO 定界符? - 2

    我正在尝试解析一个文本文件,该文件每行包含可变数量的单词和数字,如下所示:foo4.500bar3.001.33foobar如何读取由空格而不是换行符分隔的文件?有什么方法可以设置File("file.txt").foreach方法以使用空格而不是换行符作为分隔符? 最佳答案 接受的答案将slurp文件,这可能是大文本文件的问题。更好的解决方案是IO.foreach.它是惯用的,将按字符流式传输文件:File.foreach(filename,""){|string|putsstring}包含“thisisanexample”结果的

  5. ruby-on-rails - 使用 config.threadsafe 时从 lib/加载模块/类的正确方法是什么!选项? - 2

    我一直致力于让我们的Rails2.3.8应用程序在JRuby下正确运行。一切正常,直到我启用config.threadsafe!以实现JRuby提供的并发性。这导致lib/中的模块和类不再自动加载。使用config.threadsafe!启用:$rubyscript/runner-eproduction'pSim::Sim200Provisioner'/Users/amchale/.rvm/gems/jruby-1.5.1@web-services/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:105:in`co

  6. java - 从 JRuby 调用 Java 类的问题 - 2

    我正在尝试使用boilerpipe来自JRuby。我看过guide从JRuby调用Java,并成功地将它与另一个Java包一起使用,但无法弄清楚为什么同样的东西不能用于boilerpipe。我正在尝试基本上从JRuby中执行与此Java等效的操作:URLurl=newURL("http://www.example.com/some-location/index.html");Stringtext=ArticleExtractor.INSTANCE.getText(url);在JRuby中试过这个:require'java'url=java.net.URL.new("http://www

  7. 没有类的 Ruby 方法? - 2

    大家好!我想知道Ruby中未使用语法ClassName.method_name调用的方法是如何工作的。我头脑中的一些是puts、print、gets、chomp。可以在不使用点运算符的情况下调用这些方法。为什么是这样?他们来自哪里?我怎样才能看到这些方法的完整列表? 最佳答案 Kernel中的所有方法都可用于Object类的所有对象或从Object派生的任何类。您可以使用Kernel.instance_methods列出它们。 关于没有类的Ruby方法?,我们在StackOverflow

  8. ruby-on-rails - 添加回形针新样式不影响旧上传的图像 - 2

    我有带有Logo图像的公司模型has_attached_file:logo我用他们的Logo创建了许多公司。现在,我需要添加新样式has_attached_file:logo,:styles=>{:small=>"30x15>",:medium=>"155x85>"}我是否应该重新上传所有旧数据以重新生成新样式?我不这么认为……或者有什么rake任务可以重新生成样式吗? 最佳答案 参见Thumbnail-Generation.如果rake任务不适合你,你应该能够在控制台中使用一个片段来调用重新处理!关于相关公司

  9. ruby - Rails 关联 - 同一个类的多个 has_one 关系 - 2

    我的问题的一个例子是体育游戏。一场体育比赛有两支球队,一支主队和一支客队。我的事件记录模型如下:classTeam"Team"has_one:away_team,:class_name=>"Team"end我希望能够通过游戏访问一个团队,例如:Game.find(1).home_team但我收到一个单元化常量错误:Game::team。谁能告诉我我做错了什么?谢谢, 最佳答案 如果Gamehas_one:team那么Rails假设您的teams表有一个game_id列。不过,您想要的是games表有一个team_id列,在这种情况下

  10. Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting - 2

    1.错误信息:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders)或者:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:TLShandshaketimeout2.报错原因:docker使用的镜像网址默认为国外,下载容易超时,需要修改成国内镜像地址(首先阿里

随机推荐