UIPickerView на iOS - PullRequest
       11

UIPickerView на iOS

0 голосов
/ 06 мая 2018

Я работал над этим UIPickleView на iOS, и я борюсь с тем, как я могу настроить его, например, изменить его шрифт, размеры шрифта, цвет обводки и расстояние между ними. Вот что я получил до сих пор:

import UIKit

class ViewController: UIViewController,UIPickerViewDataSource,UIPickerViewDelegate {
    var picker_arr :[String]!
    var com1_arr :[String]!
    var com2_arr :[String]!

    @IBOutlet weak var picker: UIPickerView!

    override func viewDidLoad() {
        super.viewDidLoad()
        picker_arr = ["12:45", "13:00","13:15","13:30","13:45"]
        com2_arr = ["today","tomorrow"]
        com1_arr = ["1 person", "2 people","3 people","4 people","5 people"]
    }

    func numberOfComponents(in pickerView: UIPickerView) -> Int {
        return 3
    }

    func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
        if(component==0){
            return com1_arr.count
        }
        if(component==1){
            return com2_arr.count
        }
        return picker_arr.count
    }

    func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
        if(component==0){
            return com1_arr[row]
        }
        if(component==1){
            return com2_arr[row]
        }
        return picker_arr[row]
    }
}

1 Ответ

0 голосов
/ 06 мая 2018

Если вы прочитаете UIPickerViewDelegate, вы увидите, что там написано

Методы в этой группе помечены @optional. Тем не менее, чтобы использовать представление выбора, вы должны реализовать либо pickerView (: titleForRow: forComponent :) или pickerView (: viewForRow: forComponent: повторное использование :) метод для предоставления содержимое строк компонента.

Вы решили использовать titleForRow, но вам, вероятно, следует использовать viewForRow. Таким образом, вместо возврата String, вы можете вернуть целую UILabel и передать ей свой текст, шрифт, цвет и т. Д. Прочитайте использование для viewForRow здесь .

...