Swift - 带有多个 UIPickers 的 View Controller .

标签 swift viewcontroller uipicker

我正在使用 swift 2.0(我也是 Swift 和 iOS 开发的新手)......

我想要一个有两个 UIPickers 的 View Controller 。谁能建议如何做到这一点?

我的 View Controller 类...

import UIKit

class CreateSessionViewController : UIViewController, UIPickerViewDataSource,UIPickerViewDelegate {

//Outlets:
@IBOutlet var durationPicker: UIPickerView!
@IBOutlet var typePicker: UIPickerView!

//Dummy duration array:
var durationArray = ["10", "20", "30", "40", "50", "60"];

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    self.durationPicker.dataSource = self;
    self.durationPicker.delegate = self;

}

//Picker view methods:
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
    return 1
}

func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
    return durationArray.count
}

func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
    return durationArray[row]
}

}

现在,durationPicker 运行良好,但我将如何填充 typePicker?

最佳答案

您应该使用传递给每个委托(delegate)方法的 pickerView 对象:

//Picker view methods:
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
  if pickerView == durationPicker {
    return 1
  } else if pickerView == typePicker {
    return 2
  }

  return 0
}

func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
  if pickerView == durationPicker {
    return durationArray.count
  } else if pickerView == typePicker {
    return typeArray.count
  }

  return 0
}

func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
  if pickerView == durationPicker {
    return durationArray[row]
  } else if pickerView == typePicker {
    return typeArray[row]
  }

  return nil
}

关于Swift - 带有多个 UIPickers 的 View Controller .,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35524835/

相关文章:

iphone - 自动布局调整图像大小比例为 50%

ios - 如何在 View Controller 之间保存数据?

view - 如何在 iOS SDK4.2( Storyboard)中使用分段控件更改 View Controller ?需要示例代码

iphone - 从 UIPicker 中的 plist 字典中对数据进行数字排序

ios - UIPickerView 没有选择正确的行

swift - 在 UITableViewCell 子类中获取 indexPath

xcode - 我可以用 Xcode < 6 编译 Swift 吗?

ios - 从 Storyboard 中获取 viewController,而不是使用 instantiateViewControllerWithIdentifier

iphone - 多个 UIPickerView

swift - CGImageSource 到 CGImage?