如何在autolayout中更改选择器视图的字体大小

时间:2018-02-18 06:27:05

标签: ios autolayout interface-builder

enter image description here

我正在尝试修复我的选择器视图的自动布局,在iPhone(紧凑的宽度和常规高度)似乎没关系,但对于iPad(常规宽度和常规高度),它似乎是我的选择器字体的大小视图保持与iPhone相同,我希望iPad中的选择器视图的字体大小稍大,我通常会为常规宽度和常规高度的字体大小添加自定义,但是没有选项可以调整选择器的字体大小界面构建器中的视图。

我该怎么办?

1 个答案:

答案 0 :(得分:2)

这不能在Interface Builder中完成,您需要以编程方式完成。这很容易,这样做:

func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView {
    let pickerLabel = UILabel()
    if UIDevice.current.userInterfaceIdiom == .pad {
        pickerLabel.font = UIFont.systemFont(ofSize: 16)
        pickerLabel.text = "Row \(row)"
    } else if UIDevice.current.userInterfaceIdiom == .phone {
        pickerLabel.font = UIFont.systemFont(ofSize: 14)
        pickerLabel.text = "Row \(row)"
    }
    return pickerLabel
}

如果您使用pickerView titleForRow,则需要删除该功能才能使用viewForRow