2014-07-06 18 views
1

我正在嘗試創建一個簡單的轉換器應用程序。Swift中的多個pickerviews

我有兩個選擇器視圖。一到右側顯示它們所具有的單元和一個選擇器,以表明他們希望轉換成單位:

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

我有點小白所以採取這個建議用一粒鹽的代碼。看看你的第一行代碼。

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

您的inCompenent組件我相信是指第一個UIViewPicker或第二個。但是,您的開關正在尋找切換行int而不是組件。你有沒有試過:

switch component{ .....