2015-05-13 3 views
-1

Я создал HTML приписываемое строку, как это:IOS - NSAttributedString лексемы в localization.string элемент

NSString * htmlString = @"<html><body> Some html string <sup>MD</sup></body></html>"; 
NSAttributedString * attrStr = [[NSAttributedString alloc] initWithData:[htmlString dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes:nil error:nil]; 

Теперь у меня есть локализованная строка, которая имеет маркер, как это:

"greeting_label" ="reeveBeets%s \n are awesome"; 

хау я могу заменить% s моим атрибутом html text, который я создал, и поместить его в ярлык, который у меня есть как iboutlet с именем _label?

+0

Кроме того, IBOutlets не Ивар, из-за этого, в IBOutlet никогда не следует предварительно использовать _. Вы должны называться label, а не _label. – TheCodingArt

+0

xcode синтезировал его для меня. поэтому в моем файле .h его названная метка, но когда я использую ее в коде, я использую _label. что вы думаете? – j2emanue

+0

Да, это нормально, рекомендуется использовать self.property везде, где не задействована переменная экземпляра, побочные эффекты getter/setter, init или dealloc. Но это нормально. – TheCodingArt

ответ

0

Локализованные отформатированные строки работают так же, как и обычные форматированных строк, как вы можете увидеть в приведенном ниже примере:

[NSString stringWithFormat:NSLocalizedString(@"nearby_station", nil), self.endStation.name] 

Где

"nearby_station" = "Nearby %@ Station"; 
+0

Это не совсем то, что я хочу. Я хочу вставить NSAttributedString в токен, который у вас есть. т.е.% @. Так что я могу это сделать, это вопрос: [NSString stringWithFormat: NSLocalizedString (@ "near_station", nil), someAttributedString] – j2emanue

+0

Ну, самое лучшее, что я могу дать, это сказать вам, что вам нужно будет создать атрибутивную строку, вручную вставьте одну связанную строку в другую. Вы можете сделать это с помощью добавления и атрибута строки или добавления/удаления атрибутов атрибутной строки из одной присваиваемой строки в другую. После того, как вы создали свою атрибутированную строку, у вас есть доступ ко всем вашим свойствам. Я повторю, что выше это то же самое, что и stringWithFormat, так что все, что вы можете сделать с этим, вы можете сделать с этим (и вы не можете просто вставить в него привязанную строку). – TheCodingArt

+0

Вы также должны изменить свой вопрос, чтобы отразить то, что хотите. – TheCodingArt

 Смежные вопросы

  • Нет связанных вопросов^_^