Создание пользовательского UILabel, чтобы избежать проблем с локализацией - PullRequest
2 голосов
/ 30 ноября 2011

Уважаемые программисты,

Я создаю класс customLabel, как показано ниже:

@interface CustomLabel : UILabel {
    NSString *customBundlePath;
}

@implementation CustomLabel

- (void)drawTextInRect:(CGRect)rect
{
   NSString *result=[self getLocalvalue:self.text];
   [result drawInRect:rect withFont:self.font];
}

-(void)awakeFromNib
{
  NSLog(@"%@",self.text);
}

-(NSString *)getLocalvalue:(NSString*)textTolocalize
{

  // some code
  return localizedText;
}

Но моя проблема в том, что метод drawTextInRect вызывается только один раз для Label во время загрузки пера.

Если представление снова появляется с помощью popig, какой метод будет выполняться для каждого объекта customLabel?

Пожалуйста, помогите мне.Заранее спасибо.

1 Ответ

1 голос
/ 30 ноября 2011

Вам не нужны пользовательские классы.

NSString *someTextString = NSLocalizedString(@"SomeText", @"Description of text for translators")
[myLabel setText:someTextString];

Затем вы можете извлечь строки из ваших файлов и предоставить правильные тексты локализации.

Пара полезных ссылок:

http://www.icanlocalize.com/site/tutorials/iphone-applications-localization-guide/

http://www.raywenderlich.com/2876/how-to-localize-an-iphone-app-tutorial

...