Как изменить размер символов внутри UIPicker
Я пытаюсь отцентрировать и изменить размер текста внутри моего UIPicker, но не уверен, как... Я думаю, это может произойти одним из этих методов, скорее всего, первым...
- (NSString*)pickerView:(UIPickerView*)pv titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
return [[NSString stringWithFormat:@"%x",row ] uppercaseString]; //Sets picker options as an Uppercase Hex value
}
#pragma mark UIPickerViewDataSource methods
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView*)pv
{
return 5; //5 columns in the picker
}
- (NSInteger)pickerView:(UIPickerView*)pv numberOfRowsInComponent:(NSInteger)component
{
return 16;
}
Кто-нибудь знает, как это можно сделать? Я посмотрел вокруг, но документация довольно тонкая...
2 ответа
Джонс,
Как и в табличных представлениях, вы не можете изменить атрибуты шрифта заголовка по умолчанию, который вы обычно устанавливаете в методе делегата titleForRow, вместо этого вы должны использовать следующий метод:
- (UIView *)viewForRow:(NSInteger)row forComponent:(NSInteger)component
Здесь вы можете создать UIView с пользовательской UILabel и установить размер шрифта Label, цвет и другие атрибуты.
Этот метод описан в справочнике по классу Apple UIPickerView
Надеюсь, это поможет вам!
Теперь с iOS 6 вы можете использовать NSAttributedStrings для настройки текста заголовка (хотя я не думаю, что это позволяет вам легко центрировать текст).
Новый метод UIPickerViewDelegate позволяет вам возвращать приписанную строку вместо простой ванильной строки:
(NSAttributedString *) pickerView: (UIPickerView *) pickerView attributetedTitleForRow:(NSInteger) строка для компонента Component:(NSInteger)
На странице дополнений NSAttributedString UIKit есть список всех атрибутов символов, которыми вы можете управлять: http://developer.apple.com/library/ios/#documentation/UIKit/Reference/NSAttributedString_UIKit_Additions/Reference/Reference.html#//apple_ref/ док / UID /TP40011688