- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个相关的小问题,我认为第二个是因为第一个。
第一个是我的应用程序中有几个 UIButton,但没有文本,只有背景图像。
这些图像已本地化为 6 种语言。
问题是,在 Storyboard中编辑 View 时,我看到每个按钮都会随机加载一个图像(有时是英语,其他是西类牙语,其他是俄语……)。应该都是英文的,因为我有 key :
CFBundle开发区
恩
看图片。
我想一切都配置正确。你看到什么奇怪的东西了吗?
也许这是一个 Xcode 错误。
第二个问题是我正在使用自动布局。原因是这些按钮中的图像根据语言具有不同的大小。
因此,随着内部安全内容大小的变化,按钮宽度也会发生变化(因为没有宽度限制)。
问题是,如果我选择一个按钮并按下“大小以适应内容”选项以删除任何宽度约束,它似乎工作得很好(当我以不同的语言启动应用程序时,宽度会自动更改,具体取决于语言)但是,当 Storyboard以不同的语言加载图像时(第一个问题),似乎自动布局会自动添加宽度约束,然后当我再次启动应用程序时,按钮的宽度在大多数语言中都不正确。
你知道发生了什么吗?
一个非常肮脏的解决方法可能是创建一个 UIButton 后代,以消除对负载的任何宽度限制。不知道这样行不行。
我非常感谢您对这些问题的想法。
最佳答案
看起来是 Xcode 中的一个 bug,但它不会影响最终的应用程序。
我做了以下事情。启动了一个新的 Xcode 项目。我使用了自动布局的 Storyboard。我没有使用基础国际化。
我在主 View 中添加了 3 个按钮。然后我创建了 3 个与按钮一起使用的图像,并将它们添加到一个资源组。我将 PNG 文件与 Storyboard一起保存在 en.lproj 文件夹中。我先让英文版工作。
然后我去了这个项目并添加了法语。它为它认为应该本地化的所有文件打开了一个对话框,其中包括 PNG 文件。它将所有这些都复制到 fr.lproj 文件夹中。然后我创建了法语版本的 PNG 文件,并将它们与原始文件名一起保存在 fr.lproj 文件夹中。
在 Xcode 中查看时,只有一个按钮是法语。其他人是英语。
当我在模拟器中运行应用程序时,切换语言时使用了正确的 PNG。
这很烦人,但在运行时似乎不会影响应用程序。
退出 Xcode 并重新启动它会更改哪些是正确的,但仍然无法正常工作。您可能应该向 Apple 提交 RADAR 错误。 http://bugreporter.apple.com/
关于uistoryboard - 为什么 Storyboard会随机加载本地化图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16882243/
想要在两个 UIStoryBoard 和不同的 UIViewController 之间导航。我的问题是,当我点击 UIButton 时,控件应该从当前 UIStoryBoard 转移到 UIViewC
我有一个 iOS 应用程序,它使用 UIStoryboard 来控制其流程。我希望在 UIStoryboard 中定义我的所有 View 以共享一个共同的背景。有没有一种方法可以做到这一点,而不必为每
我有两个相关的小问题,我认为第二个是因为第一个。 第一个是我的应用程序中有几个 UIButton,但没有文本,只有背景图像。 这些图像已本地化为 6 种语言。 问题是,在 Storyboard中编辑
我使用本教程来实现我的自定义 UITabBarController:link 但我使用的是 Storyboard而不是 xibs。所以一些方法使用下面的代码: NSArray *nibObjects
我有一个主容器 Controller ,用于初始化 subview Controller 。 我正在尝试学习使用 UIStoryboards,但我对如何摆脱 Storyboard感到困惑。 流程如下:
我正在像这样用 MainStoryBoard 编写程序。我有带有 5 个选项卡的 UITabBarController。在每个uiviewcontroller的viewdidload中,我是这样设置的
我正在尝试快速创建 Storyboard扩展,以便更安全地实例化 View Controller protocol IdentifierType { typealias Identifier
有没有一种简单的方法可以在 Storyboard中截取场景/uiviewcontroller 的屏幕截图?我知道您可以从模拟器截取屏幕截图,但我想从 Storyboard中截取图片并将图片发布到 st
将 Controller 添加到 Storyboard时,它们会随机显示在 Storyboard侧边栏列表中。有没有办法将 Controller 重新排序为首选顺序? 这是问题的截图: 最佳答案 我建
我在我的应用程序中使用 UISegue 在我的应用程序中的 View Controller 之间自动转换。我称它们为 A 和 B。 它按预期工作,但是当我想从 B 返回 A 时,我尝试调用[self.
我有一个 AnimalViewController。它是一个基本 View Controller 。我在 UIStoryBoard 中也有 AnimalViewController 场景。 我有一个关
如何识别 UIStoryboard? 该类具有创建和实例化的方法,但我没有看到带有类似name 的@property。例如 获取 Storyboard对象 + storyboardWithName:b
我有这行代码: [UIStoryboard storyboardWithName:(NSString *) bundle (NSBundle *)]; 和 Storyboard文件。我实际上在哪里插入
使用 Storyboard一段时间后,我发现它们非常有用,但是它们确实有一些限制,或者至少是不自然的做事方式。虽然看起来应该为您的应用程序使用单个 Storyboard,但当您获得一个中等大小的应用程
我想知道是否可以在 Storyboard 中分配“动态”颜色。 从 iOS7 开始,您可以使用 tintColor 并通过 keyWindow 的 tintColor 以编程方式更改它。但是我找不到一
我已经使用 Xcode 4.5 开发了应用程序。并在此应用程序中使用 UIStoryboard。 在这个应用程序中,我从一个 ViewController 推送到第二个 ViewController,
我有这段代码,每次我使用它时,目标 View 的 viewDidLoad 都会被调用两次。 为什么会这样? Destination *myDestination = [self.storyboard
我有一个名为 BaseController 的基本 UIViewController,它是通过我的 storyboard 中的 segue 调用的。现在我有这个 baseController 的两个子
AppDelegate 基本上是 UIApplication 的委托(delegate),意味着它将处理应用级别的东西。 但是对于 storyboard appdelegate 无法正常工作,如图所示
我在一个国际化的 Xcode 项目中工作,它有两个 UIStoryboard 文件 en.lproj/Main.storyboard 和 nl.lproj/Main.storyboard。 这样做的结
我是一名优秀的程序员,十分优秀!