ios – 如何在Swift 3中更改UIPickerView中的字体大小?

前端之家收集整理的这篇文章主要介绍了ios – 如何在Swift 3中更改UIPickerView中的字体大小?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在选择器视图中更改字体大小?我已经阅读了很多关于这方面的问题,但没有一个在 Swift 3中.我有三个选择器视图;前两个有两列,并具有相同的数据源和委托.最后一个列有一列,并具有不同的数据源和委托.我无法通过一个字符在前两个选择器视图中插入文本.如有必要,如何缩小UIPickerView中的字体大小并调整选择器视图行高?谢谢.
class ViewController: UIViewController {

//MARK: Properties


@IBOutlet weak var layoutLengthPicker: UIPickerView!
@IBOutlet weak var layoutWidthPicker: UIPickerView!
@IBOutlet weak var trackPicker: UIPickerView!

let layoutLengthPickerDelegate = DimensionsPickerDelegate()
let layoutWidthPickerDelegate = DimensionsPickerDelegate()
let trackPickerDelegate = TrackPickerDelegate()

override func viewDidLoad() {
    super.viewDidLoad()

    layoutLengthPicker.delegate = layoutLengthPickerDelegate
    layoutLengthPicker.dataSource = layoutLengthPickerDelegate

    layoutWidthPicker.delegate = layoutWidthPickerDelegate
    layoutWidthPicker.dataSource = layoutWidthPickerDelegate

    trackPicker.delegate = trackPickerDelegate
    trackPicker.dataSource = trackPickerDelegate


    // Do any additional setup after loading the view,typically from a nib.
}


//MARK: Actions



override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
    }


}

class DimensionsPickerDelegate: NSObject,UIPickerViewDataSource,UIPickerViewDelegate {

let feet = ["0 Ft.","1 Ft.","2 Ft.","3 Ft.","4 Ft.","5 Ft.","6 Ft.","7 Ft.","8 Ft.","9 Ft.","10 Ft.","11 Ft.","12 Ft.","13 Ft.","14 Ft.","15 Ft.","16 Ft.","17 Ft.","18 Ft.","19 Ft.","20 Ft.","21 Ft.","22 Ft.","23 Ft.","24 Ft.","25 Ft.","26 Ft.","27 Ft.","28 Ft.","29 Ft.","30 Ft.","31 Ft.","32 Ft.","33 Ft.","34 Ft.","35 Ft.","36 Ft.","37 Ft.","38 Ft.","39 Ft.","40 Ft.","41 Ft.","42 Ft.","43 Ft.","44 Ft.","45 Ft.","46 Ft.","47 Ft.","48 Ft.","49 Ft.","50 Ft.","51 Ft.","52 Ft.","53 Ft.","54 Ft.","55 Ft.","56 Ft.","57 Ft.","58 Ft.","59 Ft.","60 Ft.","61 Ft.","62 Ft.","63 Ft.","64 Ft.","65 Ft.","66 Ft.","67 Ft.","68 Ft.","69 Ft.","70 Ft.","71 Ft.","72 Ft.","73 Ft.","74 Ft.","75 Ft.","76 Ft.","77 Ft.","78 Ft.","79 Ft.","80 Ft.","81 Ft.","82 Ft.","83 Ft.","84 Ft.","85 Ft.","86 Ft.","87 Ft.","88 Ft.","89 Ft.","90 Ft.","91 Ft.","92 Ft.","93 Ft.","94 Ft.","95 Ft.","96 Ft.","97 Ft.","98 Ft.","99 Ft.","100 Ft."]

let inches = ["0 In.","1 In.","2 In.","3 In.","4 In.","5 In.","6 In.","7 In.","8 In.","9 In.","10 In.","11 In.","12 In."]

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

func pickerView(_ pickerView: UIPickerView,numberOfRowsInComponent component: Int) -> Int {
    if component == 0 { return feet.count } else { return inches.count}

}
func pickerView(_ pickerView: UIPickerView,titleForRow row: Int,forComponent component: Int) -> String? {
    if component == 0 {return feet[row]} else {return inches[row]}

}
}

class TrackPickerDelegate: NSObject,UIPickerViewDelegate {

let manufacturers = ["Atlas True Track","Atlas Code 100","Atlas Code 83","Bachmann Nickel Silver","Bachmann Steel Alloy","Kato","Life-Like Trains Code 100","LIfe-Like Trains Power-Loc","Peco Code 100","Peco Code 83","Peco Code 75","Shinohara Code 100","Shinohara Code 70","Walthers"]

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

func pickerView(_ pickerView: UIPickerView,numberOfRowsInComponent component: Int) -> Int {
        return manufacturers.count
    }

func pickerView(_ pickerView: UIPickerView,forComponent component: Int) -> String? {
        return manufacturers[row]
    }

}

解决方法@H_403_6@
试试这个Swift 3.x:

填写您的字体名称,颜色,大小&具有适当值的数据数组.

func pickerView(_ pickerView: UIPickerView,viewForRow row: Int,forComponent component: Int,reusing view: UIView?) -> UIView {
    var pickerLabel: UILabel? = (view as? UILabel)
    if pickerLabel == nil {
        pickerLabel = UILabel()
        pickerLabel?.font = UIFont(name: "<Your Font Name>",size: <Font Size>)
        pickerLabel?.textAlignment = .center
    }
    pickerLabel?.text = <Data Array>[row]
    pickerLabel?.textColor = UIColor.blue

    return pickerLabel!
}

编辑:

对于多个组件,您可以执行以下操作:

if component == 0 {
     var label: UILabel? = (view as? UILabel)
     label.text = <Your Arr>[row]
     return label
}else {
     return anotherLabel
}

输出

希望能帮助到你!!!

原文链接:https://www.f2er.com/iOS/335351.html

猜你在找的iOS相关文章