2016-05-09 3 views
2

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

custom font on UIbutton title clipped on top of word

-(void)layoutSubviews 
{ 
    [super layoutSubviews]; 

    CGRect frame = self.titleLabel.frame; 
    frame.size.height = self.bounds.size.height; 
    frame.origin.y = self.titleEdgeInsets.top; 
    self.titleLabel.frame = frame; 
} 

К сожалению layoutSubviews не доступен для переопределения на UITabBarItem , Кто-нибудь испытал эту проблему и нашел для нее исправить?

ответ

0

Вы можете настроить заголовок (включая его цвет) с помощью словаря атрибутов (setTitleTextAttributes:forState:, унаследованного от UIBarItem), и вы можете отрегулировать позицию заголовка с помощью свойства setTitlePositionAdjustment(_:forBarMetrics:).

+0

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

+0

Вы также можете создать пользовательскую кнопку и инициализировать UIBarButtonItem вместе с ней. 'UIBarButton: var view = // создать ваш пользовательский вид' ' var btnMenu = UIBarButtonItem (customView: view) ' –

0

Это в основном шрифт с вертикальным шагом. Вы должны вычислить общую высоту шрифта, используя свойство шрифта, поскольку каждое свойство шрифта отличается. вы получите представление о высоте шрифта из документов Apple. Font Metrics