Как я могу изменить ширину каждого компонента в UIPickerView? - PullRequest
6 голосов
/ 02 декабря 2010

Как я могу изменить ширину каждого компонента в UIPickerView?

Ответы [ 2 ]

31 голосов
/ 02 декабря 2010

Реализуйте метод pickerView:widthForComponent: в делегате средства выбора и возвращайте из него соответствующую ширину для каждого компонента. например,

- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component{
      switch (component){
           case 0: 
                return 100.0f;
           case 1: 
                return 60.0f;
     }
      return 0;
}
2 голосов
/ 26 сентября 2018

Swift 4 версия:

func pickerView(_ pickerView: UIPickerView, widthForComponent component: Int) -> CGFloat {
    let w = pickerView.frame.size.width
    return component == 0 ? (2 / 3.0) * w : (1 / 3.0) * w
}

в этом примере: 2/3 ширины для первого компонента и 1/3 для второго

Использование фиксированных значений может быть плохой идеей из-за различных размеров экрана.

...