设置 UIPickerView 行的背景颜色
Posted
技术标签:
【中文标题】设置 UIPickerView 行的背景颜色【英文标题】:Set background color of UIPickerView row 【发布时间】:2019-10-11 08:51:12 【问题描述】:我有两个关于选择器视图的问题。
如何为特定行设置选择器视图背景颜色?我正在尝试制作具有另一种背景颜色的“部分”。另外,我怎样才能确保它们是不可滚动的?我的意思是,用户不应该能够“停止”该选择,应用程序应该向下滚动到下一个可用的选项。
func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView
if WhatBool == true
我目前有这一行。当我在这个问题上搜索时,我找不到任何实际有效的东西,而不是针对特定行。我做错了吗?如何在选择器视图中创建部分?一切似乎都已经过时了,所以我很想就此获得一些意见。
我想我应该在 viewForRow 中更改此类内容。但我现在完全陷入困境。
【问题讨论】:
【参考方案1】:func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView
var label:UILabel
if let v = view as? UILabel
label = v
else
label = UILabel()
label.backgroundColor = component == 0 ? .red : .purple
label.textColor = UIColor.white
label.textAlignment = .left
label.font = UIFont(name: "Helvetica", size: 16)
label.text = arrayOfCountries[row]
return label
对于不同的背景,试试这个逻辑,它会起作用&要禁用特定组件,请遵循以下答案
Swift UIPickerView disable component
【讨论】:
谢谢。它确实有效,但适用于所有人。我只想设置一个特定的行,可以吗?以上是关于设置 UIPickerView 行的背景颜色的主要内容,如果未能解决你的问题,请参考以下文章