ios - 更改 UIPickerView 的标签

标签 ios swift uipickerview

我正在尝试更改 UIPickerView 的字体。

func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusingView view: UIView!) -> UIView {
    let label = UILabel()

    label.font = UIFont(name:"SynchroLetPlain", size:20)
    //label.font = UIFont.systemFont(ofSize: 17) //Even I use systemFont, it doesn't show nothing
    return label
}

虽然编译没问题,但没有显示文本。

差异在哪里?我检查过 SynchroLetPlain 包含在项目中。

最佳答案

试试这个:

label.font = UIFont(name:"Synchro LET Plain", size:20)

我猜这个问题与字体的实际名称有关。我的意思是 iOS 通过实际名称搜索字体,而不是字体的文件名。

更新:

func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusingView view: UIView?) -> UIView {
    var label: UILabel
    if let view = view as? UILabel {
        label = view
    } else {
        label = UILabel()
        label.font = UIFont(name:"SynchroLetPlain", size:20)
    }
    label.text = "text" // your text
    return label
}

关于ios - 更改 UIPickerView 的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44157801/

相关文章:

ios - 使用 AVCaptureSession 录制视频,添加 CIFilter 并保存到相册

ios - 同一个 UIView 中的多个 UIPickerView

ios - CAShapeLayer 描边颜色不读取十六进制颜色代码转换

ios - Swift: 'Currying' 和返回函数的函数有什么区别?

ios - 每次在按钮中完成点击时执行一个方法

ios - UITextview 一直显示垂直滚动条

ios - Objective-C/NSObject 指针与 C 指针的比较

regex - NSRegularExpression 异常,字符串包含重音符号 "é"字符

ios - 当按下 2 倍快时,performSegueWithIdentifier 会推送两个 ViewController

ios - pickerview 不显示数组中的数据