adm v
adm v

Reputation: 81

Can i change UIPickerView separator height?

I have implemented a picker view but now I want to change the picker view separator line height. I want more thicker separator liner rather than this default line. So is this possible to change height of separator???

enter image description here

I want line as below image.

enter image description here

Upvotes: 1

Views: 1227

Answers (1)

Yun CHEN
Yun CHEN

Reputation: 6648

Change the line view's height in the pickerView's delegate method:

public func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView {
    for view in pickerView.subviews {
        if view.frame.size.height < 1 {
            var frame = view.frame
            frame.size.height = 2
            view.frame = frame
            view.backgroundColor = UIColor.black
        }
    }

    let label = UILabel()
    label.text = "Test Text" //remember to change it to the real data
    label.textAlignment = NSTextAlignment.center
    return label
}

Remember to set PickerView's delegate:

self.pickerView.delegate = self //or do this in XIB or Storyboard.

The effects:
enter image description here

Upvotes: 7

Related Questions