Подтвердить что ты не робот

UIPickerView не позволит изменять имя и размер шрифта через делегат `attributedTitleForRow...`

Я использую следующую функцию для изменения цвета шрифта и размера шрифта, цвет работает, но имя шрифта и размер шрифта не работают.

func pickerView(pickerView: UIPickerView, attributedTitleForRow row: Int, forComponent component: Int) -> NSAttributedString? 

var myTitle = NSAttributedString(string: titleData, attributes: [NSFontAttributeName:UIFont(name: "Arial-BoldMT", size: 45)!, NSForegroundColorAttributeName:UIColor.whiteColor()])

любая помощь?

спасибо.

4b9b3361

Ответ 1

У меня есть еще один вариант, который может быть полезным для вас.

Сделайте все, что нужно для обычного выбора: для дополнительной помощи UIPickerView сделать в Swift iOS

Теперь выполните следующие действия: - вы можете использовать метод viewForRow, как этот

func pickerView(pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusingView view: UIView!) -> UIView
{
    var pickerLabel = UILabel()
    pickerLabel.textColor = UIColor.blackColor()
    pickerLabel.text = "PickerView Cell Title"
   // pickerLabel.font = UIFont(name: pickerLabel.font.fontName, size: 15)
    pickerLabel.font = UIFont(name: "Arial-BoldMT", size: 15) // In this use your custom font
    pickerLabel.textAlignment = NSTextAlignment.Center
    return pickerLabel
}

Обновлен Swift 3

func pickerView(pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusingView view: UIView!) -> UIView
{
    let pickerLabel = UILabel()
    pickerLabel.textColor = UIColor.black
    pickerLabel.text = "PickerView Cell Title"
    // pickerLabel.font = UIFont(name: pickerLabel.font.fontName, size: 15)
    pickerLabel.font = UIFont(name: "Arial-BoldMT", size: 15) // In this use your custom font
    pickerLabel.textAlignment = NSTextAlignment.center
    return pickerLabel
}

Возможно, это поможет вам, я также использовал это в своем проекте.

Ответ 2

Вы можете объявить источник данных для pickerview

let arrDataSource:[String] = ["row 1","row 2","row 3"]

то используйте этот массив строки как заголовок для строки ниже функции

func pickerView(pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusingView view: UIView!) -> UIView

{
    let pickerLabel = UILabel()
    pickerLabel.textColor = UIColor.blackColor()
    pickerLabel.text = arrDataSource[row]
     pickerLabel.font = UIFont(name: pickerLabel.font.fontName, size: 15)
    //pickerLabel.font = UIFont(name: "Arial-BoldMT", size: 15) // In this use your custom font
    pickerLabel.textAlignment = NSTextAlignment.Center
    return pickerLabel
 }

Ответ 3

SWIFT 3

func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView {

    var string = ""

    let pickerLabel = UILabel()
    pickerLabel.textColor = UIColor.white
    pickerLabel.text = string
    pickerLabel.font = UIFont(name: "Rubik-Regular", size: 22) // In this use your custom font
    pickerLabel.textAlignment = .center

    return pickerLabel

}