2015-09-22 2 views
-1

Пространство не отображается на метке. После добавления пробела в строку. Для этого я использую следующий метод. Я хочу добавить пробел после строки, и это должно отображаться на ярлыке.Пространство не отображается на метке. После добавления пробела к строке

NSString *text = @"ABCD"; 
text = [text stringByAppendingString:@" "]; 

Но когда я запускаю, он отображается только как «ABCD».

Я отображая ярлык на tableviewcell и я ставлю выравнивание текста по правому

+0

Проверьте мое обновление. – iphonic

+0

Пожалуйста, добавьте код, в котором вы инициализируете ярлык и где вы меняете его текст. –

ответ

0

Добавлен подкласс UILabel и добавлен свойство edgeInsets.

customLabel.h

#import <UIKit/UIKit.h> 

@interface customLabel : UILabel 

@property (nonatomic, assign) UIEdgeInsets edgeInsets; 

@end 

customLabel.m

#import "customLabel.h" 

@implementation customLabel 

- (id)initWithFrame:(CGRect)frame{ 
self = [super initWithFrame:frame]; 
if (self) { 
    self.edgeInsets = UIEdgeInsetsMake(0, 0, 0, 2); 
} 
return self; 
} 

- (void)drawTextInRect:(CGRect)rect { 
    [super drawTextInRect:UIEdgeInsetsInsetRect(rect, self.edgeInsets)]; 
} 

@end 

ViewController.m

title = [[customLabel alloc] initWithFrame:CGRectMake(75, 25, 200, 14)]; 
[title setTextColor:[UIColor whiteColor]]; 
[title setFont:[UIFont systemFontOfSize:14]]; 
[title setText:@"Text"]; 
[self.view addSubview:title];  
+0

Я получил решение по моему вопросу по этой ссылке http://stackoverflow.com/questions/9502235/how-to-add-padding-left-on-a-uilabel-created-programmatically – VJVJ

0

Это должно быть

text=[text stringByAppendingString:@" "]; 

Update

Любой метод Append будет работать так же, я думаю, что вам нужно в некоторых местах попробуйте это

text=[text stringByAppendingString:@"\t"]; 

Спасибо.

+0

Пожалуйста, уточните, что я обновил свой вопрос – VJVJ

-1

Попробуйте это:

text = [NSString stringWithFormat:@"%@ ", text]; 
-1
NSString *yourString = @"ABCD";  
NSString *spaceString = @" "; 
NSString *finalString = [NSString stringWithFormat:@"%@%@",yourString,spaceString]; 
0

Проверить в конструкции. Я проверил ваш код и NSLog его. Для тестирования

NSString *text = @"ABCD"; 
text = [text stringByAppendingString:@" test"]; 

NSLog(@"%@", text); 
0

Пожалуйста Попробуйте

NSString *text = @"ABCD"; 
text = [text stringByAppendingString:@" "]; 

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

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

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

Если вы хотите изменить цвет текста этикетки, введите следующие данные:

[string addAttribute:NSForegroundColorAttributeName value:[UIColor blackColor] range:NSMakeRange(0,string.length-1)]; 
Смежные вопросы