Шрифт UIPickerView

Кто-нибудь знает, можно ли изменить шрифт и/или цвет для отдельных элементов UIPickerView?

Ответы

Ответ 1

Да, это возможно. Для этого вам нужно реализовать метод pickerView:viewForRow:forComponent:reusingView: в делегате сборщика - создать экземпляр UILabel там и настроить его с любыми атрибутами, которые вы хотите.

Ответ 2

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view{
    UILabel* tView = (UILabel*)view;
    if (!tView){
        tView = [[UILabel alloc] init];
            // Setup label properties - frame, font, colors etc
            ...
    }
    // Fill the label text here
    ...
    return tView;
}

Ответ 3

Для этого я бы просто пошел с атрибутными строками.

Реализация этого метода - ваш делегат:

- (NSAttributedString *)pickerView:(UIPickerView *)pickerView
             attributedTitleForRow:(NSInteger)row
                      forComponent:(NSInteger)component