You can change the width by an appropriate delegate method
- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component {
switch(component) {
0: return 22;
1: return 44;
2: return 88;
default: return 22;
}
//NOT REACHED
return 22;
}
As for a custom text size, you can use the delegate to return custom views with whatever sized text you want:
- (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.text = @"Demo";
retval.font = [UIFont systemFontOfSize:22];
return retval;
}
Of course you will need modify these to have appropriate values for your app, but it should get you where you need to go.