- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
如何使 UIBarbuttonItem 本地化?
我的实现:
UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(cancel)];
本来以为是自动的,因为做成这样看起来很容易,结果好像不是。
EDIT1:官方 Apple dox 表示取消、完成、编辑、保存按钮已本地化,但不确定如何制作。
最佳答案
好吧,我想我知道发生了什么。
UIKit 根据 [[NSBundle mainBundle] preferredLocalizations]
的值决定用哪种语言显示字符串。这背后的想法是尽可能使用翻译后的资源,否则就使用英语。例如,如果您不提供应用的芬兰语翻译,并且在“设置”->“通用”->“国际”->“语言”中选择了芬兰语,则您的应用将为英语。它可能有点复杂(UIKit 可能会按照 Settings.app 中显示的顺序遍历所有语言列表,试图找到你的应用程序具有翻译的第一种语言),但重点是。
以上内容可能过于明显,不容错过关键的细微差别。由上述算法确定的语言用于应用程序的整个 UI。例如,如果应用程序包不包含 sk.lproj,则斯洛伐克语不会显示任何内容。事实上,它确实有意义,因为否则 UI 的某些部分将使用斯洛伐克语,而其他部分将使用英语。
打开已编译的应用程序包,查看其中有哪些 *.lproj 文件夹。 [[NSBundle mainBundle] preferredLocalizations]
将返回相同的集合,根据用户偏好排序。所有可本地化的字符串,包括系统栏按钮项目,都将以其中一种语言显示。如果您不支持俄语,即使在 Settings.app 中选择了俄语,整个 UI 也会以另一种语言显示。
如果您的应用确实是这种情况,则有两件正确的事情和一件错误的事情要做:
如果您看到不同的行为,则项目/构建/构建的应用可能有问题。例如,我注意到当您将文件本地化时,其未本地化的副本不会从之前构建的应用程序包中删除。
关于iphone - UIBarButtonSystemItem 可本地化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4089584/
我需要两个找不到的按钮:UINavigationBar 的信息按钮和统计按钮。有没有一种方法可以在不绘制按钮的情况下找到代表相似事物的按钮? 最佳答案 希望对你有帮助: //for info but
如何使 UIBarbuttonItem 本地化? 我的实现: UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc]
我想更改导航栏和工具栏的颜色,但卷页系统图标 UIBarButtonSystemItemPageCurl 的颜色不会随工具栏色调颜色变化。如果我使用书签等其他系统图标,它们会发生变化。有没有人能解决这
我发布了一个关于模仿 map 应用程序界面的问题,并且刚刚遇到另一个我不确定 UIToolbar 和 UIBarButtonItem 的区域。 在 map 应用程序中,有两个按钮似乎没有在 UIBar
我为条形按钮项创建了一个类,以便在所有 view controllers 中使用它 import UIKit class SearchBarItem: UIBarButtonItem { le
我在哪里可以看到带有名称的 UI BarButtonSystemItem 图像?我尝试搜索苹果开发者文档。所有图像都在那里,但没有每个图像的响应标题。 谢谢 最佳答案 图像在文档中,在 UIBarBu
我正在尝试使用以下代码添加包含 uipickerview 和“完成”按钮的 subview pickerView = [[UIPickerView alloc]initWithFrame:CG
我正在尝试向我的导航栏添加一个完成按钮(直接构建 UINavigationBar 而不是使用 Controller )。完成按钮看起来很好,操作有效,但导航栏边缘没有填充。 我尝试添加第二个具有固定空
我想创建一个系统 UIBarButton,但我希望它具有简单的样式。 我试过这段代码,但样式被忽略了。有什么问题吗? UIBarButtonItem *search = [[UIBarButtonIt
我可以将系统项分配给 UIBarButtonItem 而不必重新创建它吗?只需调用 initWithBarButtonSystemItem现有按钮上的按钮似乎对我不起作用。 This是我试图让它工作的
尝试对我在导航栏按钮上设置正确的 UIBarButtonSystemItem 进行单元测试。 我可以取回样式,但似乎找不到获取 UIBarButtonSystemItem 的方法 为按钮设置的枚举。这
看起来 viewController.tabBarItem 上不存在 systemItem 属性有没有办法将 UIBarButtonSystemItem 设置为图像UITabBarItem 编程? 谢
我正在编写的应用程序使用导航栏,我需要将标准的“添加”(加号)图标作为栏按钮项。这些标准图标描述为 here并描述了它们的用途 here ,但文档仅描述了如何从代码(objective-c 或 swi
我正在尝试自定义一个 UIButton 并且我想使用 UIBarButtonSystemItem UIBarButtonItem 对象可用的样式。 如何在 UIBUtton 对象上使用 UIBarBu
我现在正在探索 XCode 和 objective-c ,所以在我的下一个项目中我会更熟悉它。 我遇到了这个 UIButton、UIBarButtonItem、UIBarButtonItemStyle
请接受我早期的道歉,因为我对这个问题是全新的,所以我的术语可能不准确,希望你能理解我在问什么。 我在获取 UIBarButtonSystemItem 以在按下时将我带回不同 View 时遇到问题。我定
我知道我可以自定义 UIBarButtonItem文字通过 setTitleTextAttributes:forState: 还有一种方法可以自定义UITabBar图标通过 setSelectedIm
我想用代码从“播放”更改为“暂停”的 UIBarButtonItem 的标识符。我该怎么做? 谢谢 最佳答案 1) 初始化一个新按钮 //change to play let button = UIB
我正在尝试从 UIBarButtonSystemItem like UIBarButtonSystemItem.Camera 类型转换图标到 UIImage 中。用户可以在Swift and ObjC
在 xCode 4.3 下运行我的应用程序时,我在上面的主题行中收到警告。 这是有问题的代码: UINavigationController *navigationController = [[UIN
我是一名优秀的程序员,十分优秀!