2017-02-06 4 views
1
NSString *st = [NSString stringWithFormat:@"%lu \n", step]; 
     NSString *currentSteps = [st stringByAppendingString:NSLocalizedString(@"steps", "")]; 
[_circleProgressBar setHintTextGenerationBlock:(^NSString *(CGFloat progress) { 
      return [NSString stringWithFormat:@"%@", currentSteps]; 
     })]; 

У меня есть ряд шагов, его показ в настоящее время, как это:
шагиНовая строка, добавленная в NSString с/n, но как центрировать обе строки строки?

Но вместо того, было бы неплохо, чтобы получить 0 должно быть в центре строки шагов.

+3

Строка - это просто объект, который содержит значение и не имеет ничего общего с его представлением в пользовательском интерфейсе. Вы можете 'UILabel' с центром режима содержимого. – rckoenes

+0

Привет, Я использую API CircleProgressBar, у которого есть только один текст, который будет показан, и внутри я должен это сделать. Это мое ограничение. Спасибо за предложение –

+0

Возможно, вы можете использовать 'NSAttributedString' с абзацем и установить выравнивание по центру. – rckoenes

ответ

0

Вы можете создать NSAttributedString с абзацем с центрами текста.

NSMutableParagraphStyle *paragraphStyle = [NSMutableParagraphStyle new]; 
paragraphStyle.alignment = NSTextAlignmentCenter; 

NSDictionary *attributes = @{ NSParagraphStyleAttributeName : paragraphStyle]; 

NSAttributedString *label = [[NSAttributedString alloc] initWithString:currentSteps attributes:attributes]