【问题标题】:iOS best practices with dynamic content动态内容的 iOS 最佳实践
【发布时间】:2014-03-05 00:13:27
【问题描述】:

我正在构建具有双语内容的 iOS,用户将能够随时在语言之间切换,并且内容将更新为所选语言。跟踪我的所有 UIView 组件以促进语言切换的最佳方法是什么?

我看到的选项是;

  1. 制作每个可能更改我的 ViewController 属性的元素;
  2. 给每个元素一个标签,需要的时候用viewWithTag抓取元素;
  3. 丢弃整个容器视图并从头开始重建。

说实话,这 3 个选项听起来都不理想,还有其他我没有想到的选项吗?什么被认为是跟踪多个元素的最佳方式?

谢谢,

2014 年 3 月 3 日编辑

更多细节。

该应用程序将有两个版本的所有动态内容,法语和英语。一次只会显示一种语言,但用户可以随时切换语言,并且所有显示的内容都应该更新。

应用说明。 该应用程序是灌输的一部分,将以横向的信息亭模式运行。屏幕左侧的 2/3 将是一个水平滚动视图,用户可以通过它翻阅内容。当用户看到他们希望进一步调查的内容时,垂直滚动视图将从底部向上滑动并填充屏幕右侧的 1/3。然后,用户将能够浏览内容的详细信息。我目前正在努力根据语言进行更改的正是这种动态的详细内容。

【问题讨论】:

  • 到目前为止你有没有尝试过?你能提供一些代码吗?
  • 这是一个非常有用的本地化教程:raywenderlich.com/2876/localization-tutorial-for-ios
  • 感谢教程的链接,它对于本地化静态内容非常有用。但此时我更关心的是动态内容。基本上所有的动态内容都会有两种语言版本,一次只会显示一种,但用户可以在两种语言之间切换。将用更好的描述更新问题。

标签: ios objective-c ios7 localization


【解决方案1】:

我要做的是将所有“基本”组件(UILabelUIButton 和其他)子类化,并让它们响应您的控制器在用户切换语言时发送的全局自定义 NSNotification,使用使用全球通知中心 ([NSNotificationCenter defaultCenter])。这样,任何人都有机会更新。

【讨论】:

  • 这听起来很有趣,因为我对 iOS 开发还比较陌生,所以我必须弄清楚如何实现它。
【解决方案2】:

在最近的一次本地化尝试中,我们只是将每个可见字符串都作为一个出口并将它们定义为 NSLocalizedString,然后我们为每种语言提供了 plist 字典。完成所有设置需要一段时间,但一旦完成,维护起来就相对容易!

并不是说这是最好的方法,但我们就是这样做的!

https://developer.apple.com/internationalization/

该链接可能对您有所帮助! :)

【讨论】:

  • 感谢您的链接和建议。这是处理静态内容本地化的好方法,我只是不确定如何将这种方法用于动态内容。我更新了问题,更详细地描述了我正在尝试做的事情。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-10
  • 1970-01-01
  • 1970-01-01
  • 2012-05-10
  • 2013-04-02
  • 2010-12-17
相关资源
最近更新 更多