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

Спасибо. :)
Я хочу установить стиль текстового шрифта UILable в формате малых заглавных букв, как показано ниже.
Пожалуйста, дайте мне решение для этого, если кто-нибудь знает,

Спасибо. :)
Если я не ошибаюсь, ты этого хочешь?
NSString *uppercaseString = [yourString uppercaseString];
Шрифты, доступные в iOS, не имеют «заглавного стиля». Вам следует добавить собственный шрифт или попробовать создать его с помощью функции CTFontDescriptorCreateCopyWithFeature.
Я думаю, что самым простым способом будет создание атрибутивной строки (NSAttributedString) со смешанными размерами шрифта.
Для пользовательских шрифтов iOS 7 метод описан Энтони Маттоксом. Для системного шрифта способа не знаю.
Набор шрифта маленькими заглавными буквами на iOS
вы можете попробовать с этим
NSString* ул=@"мудит"; label.text=[str uppercaseString];
это даст вам вывод следующим образом: MUDIT
Чтобы UILabel отображался как строка в верхнем регистре, где первая буква каждого слова больше, вы можете сделать что-то вроде этого:
@implementation CapitalicTextLabel
- (void)drawRect:(CGRect)rect
{
// Drawing code
NSArray* words = [self.text componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetCharacterSpacing(context, 1);
CGContextSetFillColorWithColor(context, [self.textColor CGColor]);
CGAffineTransform myTextTransform = CGAffineTransformScale(CGAffineTransformIdentity, 1.f, -1.f );
CGContextSetTextMatrix (context, myTextTransform);
CGFloat x = 0;
float centeredY = (self.font.pointSize + (self.frame.size.height - self.font.pointSize) / 2) - 2;
CGFloat firstLetterSize = self.font.pointSize * 1.4;
for (NSString* word in words)
{
NSString* letter = [[word substringToIndex:1] uppercaseString];
CGContextSelectFont(context, [self.font.fontName cStringUsingEncoding:NSASCIIStringEncoding], firstLetterSize, kCGEncodingMacRoman);
CGContextShowTextAtPoint(context, x, centeredY, [letter cStringUsingEncoding:NSASCIIStringEncoding], [letter length]);
x = CGContextGetTextPosition(context).x;
NSString* restOfWord = [[[word substringFromIndex:1] uppercaseString] stringByAppendingString:@" "];
CGContextSelectFont(context, [self.font.fontName cStringUsingEncoding:NSASCIIStringEncoding], self.font.pointSize,
kCGEncodingMacRoman);
CGContextShowTextAtPoint(context, x, centeredY, [restOfWord cStringUsingEncoding:NSASCIIStringEncoding], [restOfWord length]);
CGPoint v = CGContextGetTextPosition(context);
x = CGContextGetTextPosition(context).x;
}
}
@end
Эта реализация не обрабатывает разделение на несколько строк и не учитывает параметр TextAlignment. Это должно быть достаточно просто, чтобы добавить его впоследствии.
Пример:

попробуй с этим
NSString *string = @"askdfjgjksdfgh";
NSString *upString = [string uppercaseString];
NSLog(@"U %@", upString);
Невозможно изменить размер шрифта или тип отдельной буквы в UILabel.
Что вы хотите сделать, так это иметь 2 метки, одну для первой буквы большего размера и одну сразу после нее для оставшегося слова.
Чтобы получить доступ к первой букве и остальной части слова, вы можете использовать:
NSString * word = @"COMPLETED";
NSString * firstLetter = [word substringToIndex:1];
NSString * remainingWord = [word substringFromIndex:1];
То, что вы видите на картинке, вероятно, является изображением слов, а не UILabel.