Como posso adicionar atributo de alinhamento de texto a um NSAttributedString para centralizar o texto?
Edit: Estou fazendo algo errado? Não parece mudar o alinhamento.
CTParagraphStyleSetting setting;
setting.spec = kCTParagraphStyleSpecifierAlignment;
setting.valueSize = kCTCenterTextAlignment;
CTParagraphStyleSetting settings[1] = {
{kCTParagraphStyleSpecifierAlignment, sizeof(CGFloat), &setting},
};
CTParagraphStyleRef paragraph = CTParagraphStyleCreate(settings, sizeof(setting));
NSMutableAttributedString *mutableAttributed = [[NSMutableAttributedString alloc] initWithAttributedString:self.attributedString];
[mutableAttributed addAttributes:[NSDictionary dictionaryWithObjectsAndKeys:(NSObject*)paragraph ,(NSString*) kCTParagraphStyleAttributeName, nil] range:_selectedRange];
NSParagraphStyle
não estava disponível no iOS naquela época.Swift 4.2
fonte
NSTextAlignmentJustified
. você pode dizer por quê? e como posso definir o alinhamento como justificado?NSTextAlignmentJustified
. É um bug do iOS7?NSBaselineOffsetAttributeName : @0
ao dicionário de atributos.NSAttributedString.alloc
?Eu estava procurando o mesmo problema e consegui alinhar o texto ao centro em um NSAttributedString desta maneira:
fonte
NSMakeRange(0, [string length])
Representa a string completa.Swift 4.0+
Swift 3.0+
(resposta original abaixo)
Swift 2.0+
fonte
Resposta do Swift 4 :
fonte
Em swift 4:
fonte
fonte