多个UIPickerview错误

时间:2015-11-28 00:00:59

标签: swift uipickerview uipickerviewcontroller uipickerviewdatasource uipickerviewdelegate

我只是想让你知道我正在处理的Xcode版本是7.1.1。说到这一点,我有三个Pickerviews,如下图所示。主选秀视图,左选择视图和右选择视图。

主选择器视图的数组有一组名称,每个名称都有一组单位,左右选择器应该具有相同的数据。我已经制作了一本字典,以便将这些单元组同步到它所属的位置,但我无法做到。

我将主Picker标记为1,左侧Picker标记为2,右侧标记标记为3.此外,我将所有选择标记为" dataSource" &安培; "代表"

http://s12.postimg.org/fj72kg29p/main_View.png

主要目标是:

当我选择一个名字时,我想要#34; Area"从主选择器中,它的组必须显示或出现在左右拾取器中,等等。

我已经做了我所做的但是我收到了以下错误:

http://s1.postimg.org/523f3smwf/Screen_Shot_2015_11_27_at_12_39_20_AM.png

这是我的代码:

object 2

1 个答案:

答案 0 :(得分:0)

同样在func pickerView(pickerView: UIPickerView, attributedTitleForRow row: Int, forComponent component: Int) -> NSAttributedString?正确处理所有选择器的归属文本,否则您的代码将崩溃。您只需为attributedTitle定义mainPicker即可。对其他人也这样做,如下所示。根据您的需要进行更改。

func pickerView(pickerView: UIPickerView, attributedTitleForRow row: Int, forComponent component: Int) -> NSAttributedString? {

    let titleData : String?
    if(pickerView.tag == mainPicker.tag){
        titleData = mainPickerData[row] as? String;

    }
    else{

        let currentSelectedIndex = mainPicker.selectedRowInComponent(0)
        leftRightPickerData = (dataDict.objectForKey(mainPickerData[currentSelectedIndex] as! String) as! NSArray)

        titleData = leftRightPickerData[row] as? String;
    }

    let myTitle = NSAttributedString(string: titleData!, attributes: [NSFontAttributeName:UIFont(name: "Georgia", size: 15.0)!,NSForegroundColorAttributeName:UIColor.blueColor()])
    return myTitle;

}