Ändern UIPickerView Schriftgröße für die verschiedenen Spalte

Bin ich den Bau einer UIPickerView, die funktioniert gut mit meinem folgenden code.

//Title for Row
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{

    if (component==kNumComponent)
        return Number[row];
        else if(component==kSeaComponent)
            return Season[row];
        else
            return Course[row];

}

In denen Zahl -, Saison-und Natürlich sind die NSArray Speicherung der Zeichenfolge. Hier möchte ich die schriftart ändern, die Größe natürlich, in kleinere ein. Ich lernte einige Beispiel hier.

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row
forComponent:(NSInteger)component reusingView:(UIView *)view {
            UILabel *retval = (id)view;
            if (!retval) {
                retval= [[[UILabel alloc] initWithFrame:CGRectMake(0.0f, 0.0f, [pickerView rowSizeForComponent:component].width, [pickerView rowSizeForComponent:component].height)] autorelease];
            }

            retval.font = [UIFont systemFontOfSize:22];
            retval.text = [pickerViewArray objectAtIndex:row];
       return retval;
    }

Gibt es einen schnellen Weg für mich, um zu kombinieren den oben genannten code in meiner vorhandenen code, um die Schriftgröße zu ändern bitte? Sagen, ich Schätze mal übergeben müssen "Retval" irgendwo?

UPDATE: vielen Dank für Scotts ' s Tipp(siehe unten), habe ich meine Methode funktioniert,hier gepostet:

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row
          forComponent:(NSInteger)component reusingView:(UIView *)view {

    UILabel *retval = (UILabel*)view;
    if (!retval) {
        retval = [[UILabel alloc] initWithFrame:CGRectMake(0.0f, 0.0f, [pickerView rowSizeForComponent:component].width, [pickerView rowSizeForComponent:component].height)];
    }

    retval.font = [UIFont systemFontOfSize:22];

    if (component==kNumComponent)
        retval.text = Number[row];
    else if(component==kSeaComponent)
    {retval.font = [UIFont systemFontOfSize:14];
        retval.text = Season[row];}
    else
    { retval.font = [UIFont systemFontOfSize:14];
        retval.text = Course[row];}

    return retval;
}
InformationsquelleAutor user4441082 | 2015-01-21
Schreibe einen Kommentar