усеченный курсив в UIButton? - PullRequest
1 голос
/ 26 марта 2012

Я обнаружил странное поведение при работе с UIButton с большим размером шрифта:

Моему приложению iPad нужно представить такой UIButton, и я обнаружил, что когда я применяю свойство курсива к UIButton с большим шрифтом,текст выглядит усеченным, как показано ниже: screenshot

это странно, поскольку моя UIButton правильно отцентрирована и достаточно велика.sizeToFit не помогает.Я попытался поместить журнал, чтобы узнать больше, и кажется, что внутренний размер UILabel кнопки слишком мал:

NSLog(@"Button width : %.1f, text width : %.1f", button.frame.size.width, button.titleLabel.frame.size.width);
[button.titleLabel sizeToFit];
NSLog(@"Button width : %.1f, text width : %.1f", button.frame.size.width, button.titleLabel.frame.size.width);

, что дает мне:

Ширина кнопки: 710.3, ширина текста: 518.0

Ширина кнопки: 710.3, ширина текста: 518.0

То же самое происходит непосредственно в IB, когда применяется размер шрифта более 150 пикселей наUIButton, выделенный курсивом.Есть ли способ исправить это или это ошибка SDK?

Ответы [ 2 ]

1 голос
/ 25 мая 2012

Вы можете попробовать установить заголовок кнопки, как показано ниже

[button setTitle:@"2 " forState:UIControlStateNormal/Highlighted/Selected];

или сделайте то же самое, используя файл .xib, связанный с вашим ViewController. После этого вам нужно установить края вставки заголовка кнопки, что можно сделать из соответствующего файла .xib, или сделать следующее:

[button setTitleEdgeInsets:UIEdgeInsetsMake(0,spacingFromLeft, 0, 0)];

Второй шаг обеспечит выравнивание текста, в данном случае строки «2», по центру. Таким образом, в параметре leftSpacing метода UIEdgeInsetsMake () вы можете установить ширину в соответствии с вашими требованиями, чтобы выровнять ее по центру.

У меня тоже была такая же проблема, и я принял это решение, которое может быть не лучшим или правильным, но оно, безусловно, сработало для меня.

0 голосов
/ 27 марта 2012

Я думаю, это сочетание большого размера шрифта (относительно размера кнопки / метки).Когда вы добавляете пробел, он фактически увеличивает размер UILabel.

Попробуйте [button.titleLabel adjustsFontSizeToFitWidth].Это определенно уменьшит размер шрифта (если он слишком велик для данного размера кадра), но будет следить за тем, чтобы ничто из символа не было обрезано.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...