سؤال

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