Локализованные метки XIB - PullRequest
0 голосов
/ 21 июня 2011

Я посмотрел разные посты и статьи, и, конечно же, документацию на Apple, обычно достаточно для локализации.

Но я новичок, использующий IB.

Для того, чтобыЯ знаю, что для локализации файлов XIB вы можете создать одну версию для каждого языка ... но кто-нибудь знает, возможно ли управлять из UIViewController.

Я предпочитаю управлять локализацией, используя файл .strings по отношению ксоздавать разные файлы XIB для каждого нового языка.

Можем ли мы получить UILabel из файла XIB в UIViewController (viewDidLoad)?

Спасибо за ваше время,

Иван

Ответы [ 2 ]

2 голосов
/ 21 июня 2011

Вы не можете изменить файл XIB, но к моменту вызова viewDidLoad, UILabel, если он был частью файла XIB, который загружен контроллер представления, уже будет частью иерархии представления. Если вы непосредственно не установили IBOutlet для экземпляра UILabel, вам придется искать в иерархии представлений определенный маркер, например, tag. Как только вы получите метку, это должно быть прямое назначение локализованной строки.

label.text = NSLocalizedString(.., ..);
0 голосов
/ 19 июля 2011

Я не тестировал его, но можем ли мы просто создать подкласс UILabel и перегрузить

- (void) setText:(NSString*) theString

метод до

- (void) setText:(NSString*) theString
{
    [super setText: NSLocalizedString (theSrting);
}

Или как то так?

...