Я использую setTitleTextAttributes для изменения шрифта на UISegmentedControl
следующим образом.
<code>UIFont *font = [UIFont boldSystemFontOfSize:14.0f];
NSDictionary *attributes = [NSDictionary dictionaryWithObject:font forKey:UITextAttributeFont];
[self setTitleTextAttributes:attributes forState:UIControlStateNormal];
Это нормально работает в симуляторе, но вылетает при работе наiPad.Ошибка неверного доступа возникает при создании словаря, и я использовал оператор NSLog, чтобы проверить, что UITextAttributeFont генерирует ошибку.
Есть идеи, в чем проблема или есть альтернативный метод для установки шрифта?
РЕДАКТИРОВАНИЕ
Я только что понял, что iPad работает под управлением iOS 4 (я думаю, что это поддерживается на iOS> = 5).Каков наилучший способ проверки поддержки версий?
Основываясь на предложении Грязного Генри, правильная реализация выглядит следующим образом.
<code>if ([self respondsToSelector:@selector(setTitleTextAttributes: forState:)]) {
UIFont *font = [UIFont boldSystemFontOfSize:14.0f];
NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys: font, UITextAttributeFont, nil];
[self setTitleTextAttributes:attributes forState:UIControlStateNormal];
}