UIPickerViewの列は、”おそらく”最初に表示されている文字列に応じて幅が調整されます。
Sponsor Link
たまにラベルが見切れる
なので、最初に表示されているラベルと残りのラベルの長さによっては、他の選択肢が見切れることがあります。
どうすると良い?
以下のような形で、どのUIPickerViewのどのコンポーネントかを確認して、指定したい横幅を返すときちんと設定できます。
コード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
func pickerView(_ pickerView: UIPickerView, widthForComponent component: Int) -> CGFloat { if pickerView.accessibilityIdentifier == "datePicker" { switch component { case 0: return 300 case 1: return 100 case 2: return 150 default: return 100 } } return 100 } |
さらに
もっと凝ったことをしたいときは、自分でUIViewを作って返すこともできます。Sponsor Link