ero*_*ppa 6 iphone localization
当我以编程方式分配文本时,我可以使用NSLocalizedString(....),但是如果我直接在IB中写文本(比如UILabel)我该如何本地化呢?
Don*_*hey 11
一种解决方案是创建多个本地化的nib文件.如果您的本地化需求非常简单,并且您只是在开发结束时将资源转移到专家软件本地化程序,那么这可能效果最佳.
如果您在开发过程中进行本地化并且UI正在快速变化,那么重复的nib文件可能会非常麻烦,因为必须在每个本地版本的nib中复制每个UI tweek.为避免这种情况,您需要在视图控制器中编写一些代码来处理设置本地化字符串,通常在视图控制器的-viewDidLoad方法中.确保每个具有本地化文本的控件都是一个IBOutlet并将它们连接到IB中的视图控制器.然后你的视图控制器-viewDidLoad将看起来像这样:
- (void)viewDidLoad {
[super viewDidLoad];
hello.text = NSLocalizedString(@"Hello", @"Hello label");
world.text = NSLocalizedString(@"world", @"world label");
// ... etc
}
Run Code Online (Sandbox Code Playgroud)
您可以执行此类视图设置,-viewDidLoad因为在您的-init方法运行之后,您的笔尖中的对象才会完全创建. 在您的视图可见之前-viewDidLoad运行-init.
| 归档时间: |
|
| 查看次数: |
12536 次 |
| 最近记录: |