【问题标题】:Set background color of UIPickerView row设置 UIPickerView 行的背景颜色
【发布时间】:2019-10-11 08:51:12
【问题描述】:

我有两个关于选择器视图的问题。

如何为特定行设置选择器视图背景颜色?我正在尝试制作具有另一种背景颜色的“部分”。另外,我怎样才能确保它们是不可滚动的?我的意思是,用户不应该能够“停止”该选择,应用程序应该向下滚动到下一个可用的选项。

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

    if WhatBool == true{

    }
}

我目前有这一行。当我在这个问题上搜索时,我找不到任何实际有效的东西,而不是针对特定行。我做错了吗?如何在选择器视图中创建部分?一切似乎都已经过时了,所以我很想就此获得一些意见。

我想我应该在 viewForRow 中更改此类内容。但我现在完全陷入困境。

【问题讨论】:

    标签: ios swift


    【解决方案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

    【讨论】:

    • 谢谢。它确实有效,但适用于所有人。我只想设置一个特定的行,可以吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-17
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 2010-09-17
    • 2018-07-15
    • 2014-09-04
    相关资源
    最近更新 更多