ios - Swift 中的多个选择器 View

标签 ios swift uipickerview

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

我有两个选择器 View 。一个显示他们拥有的单位,右侧的一个选择器显示他们希望转换为的单位:

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

我不知道如何在向下滚动时让左侧的选择器 View 起作用。

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

但是,当我尝试使用公顷 -> 英亩或任何其他测量值时,它没有进行正确的测量。它为英亩做了一个。

如何让左侧的 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")



    }

}

最佳答案

我有点菜鸟,所以对这个建议持保留态度。查看您的第一行代码。

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

我认为您的 inCompenent 组件指的是第一个 UIViewPicker 或第二个。但是,您的开关希望切换行 int 而不是组件。你试过吗:

switch component{ .....

关于ios - Swift 中的多个选择器 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24594641/

相关文章:

android - 我们如何测试移动应用程序的性能(android 和 IOS)

ios - Pods 库与第一个目标链接两次,如 libPods.a 和 libPods-<targetname>.a

objective-c - 带 iOS 的 Airstash

swift - 如何从 swift 数组中删除多个项目?

swift - 如何每月最多显示一次 iOS 区域通知?

ios - XC文本 : query for text in navigation bar

ios - 在 Swift 中的主 App 和 Today 小部件/扩展之间共享 UI 元素

swift - 如何从 UIPickerView 更新自定义 TableViewCell 中的 textfield.text 值

ios - iOS 6 中的 UIPickerView 选择行崩溃

ios - 如何在自定义 tableViewCell 中初始化 UiPickerView?