You can try, like this, with a custom view.
func pickerView(pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusingView view: UIView?) -> UIView { let label = UILabel(frame: CGRectMake(0, 0, 400, 44)); label.lineBreakMode = .ByWordWrapping; label.numberOfLines = 0; label.text = arr[row] label.sizeToFit() return label; }
If you have content that can take more than two lines, you can also set the line height
func pickerView(pickerView: UIPickerView, rowHeightForComponent component: Int) -> CGFloat { return 80 }
source share