Swift中的多个pickerviews

时间:2014-07-06 09:54:19

标签: ios swift uipickerview

我正在尝试创建一个简单的转换器应用程序。

我有两个选择器视图。一个显示他们有哪个单位,一个选择器在右边显示他们希望转换为的单位:

Acre                    Acre
Hectare                 Hectare
Square Inch             Square Inch     
Square Meter            Square Meter
Square Kilometer        Square Kilometer
Square Foot             Square Foot 

当你向下滚动时,我不知道如何让左边的选择器视图工作。

我只能在左侧第一排按照我想要的方式工作(英亩 - >公顷,英亩 - >平方英寸等)。

然而,当我尝试公顷 - >英亩或任何其他测量,它没有做正确的测量。它是英亩的。

如何让左侧的pickerview以我想要的方式工作?

我尝试了许多不同的方法让它工作,但没有任何作用,所以我只删除了所有内容并返回相同的代码。

这是我用过的代码

func pickerView2(pickerView: UIPickerView!, didSelectRow row: Int, inComponent component: Int) {
    switch(row) {

    case 0:

      answerField2.text = answerField1.text            

    case 1:

        var num1 = (answerField1.text as NSString).floatValue

        var num2:Float = 2.4711

        var answer = num1 / num2

        var display = answer.description

        answerField2.text = display            

    case 2:

        var num1 = (answerField1.text as NSString).floatValue

        var num2:Float = 6272600

        var answer = num1 * num2

        var display = answer.description

        answerField2.text = display



    case 3:

        var num1 = (answerField1.text as NSString).floatValue

        var num2:Float = 0.00023711

        var answer = num1 / num2

        var display = answer.description

        answerField2.text = display

    case 4:

        var num1 = (answerField1.text as NSString).floatValue

        var num2:Float = 247.11

        var answer = num1 / num2

        var display = answer.description

        answerField2.text = display

    case 5:

        var num1 = (answerField1.text as NSString).floatValue

        var num2:Float = 43560

        var answer = num1 * num2

        var display = answer.description

        answerField2.text = display            

    default:

        println("not a value")



    }

}

1 个答案:

答案 0 :(得分:1)

我有点像菜鸟,所以请你多加一点意见。看看你的第一行代码。

func pickerView2(pickerView: UIPickerView!, didSelectRow row: Int, inComponent component: Int) {
switch(row) {

我认为你的inCompenent组件指的是第一个UIViewPicker或第二个。但是,您的开关正在寻找切换行而不是组件。你试过了吗?

switch component{ .....