質問

In my Localizable.strings I define a string with trailing whitespaces like this:

"%@ points  " = "%@ Punkte  ";

This worked just fine in iOS6 but when runing on an iOS7 emulator, the string is trimmed and the trailing whitespaces are stripped off.

Background: The string above is right-aligned in a label. I use the whitespaces as a padding since I dont want to subclass UILabel or write a bunch of code for just one label.

I also tried using ASCII signs, but this also did not work.

Any suggestions for a simple soultion would be appreciated.

Thank you!

役に立ちましたか?

解決

Perhaps you can try this workaround with NSMutableAttributedString which worked for me. The "." is put in place of the whitespace.

NSMutableAttributedString *string = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@"%i.", count]];


 [string addAttribute:NSForegroundColorAttributeName value:[UIColor whiteColor] range:NSMakeRange(0,string.length-1)];

 [string addAttribute:NSForegroundColorAttributeName value:[UIColor clearColor] range:NSMakeRange(string.length-1,1)];

他のヒント

Have you tried the non breaking space character?

Ok, I am solving this issue by adding the label as a subview to a view and setting the width of the label a bit smaller that that of the view.

All styling, i.e. background image, animations etc. is done to the view, not the label. Not the KISS principle but it works.

Thanks anyway.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top