人気ブログランキング |

Swiftでpickerviewを使おうとする

pickerView使うには、この辺を定義しないといけないらしいが
swiftでの定義の仕方がよくわからず。

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
  return 1;
}

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
  return 3;
}

-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
  return [categoryArray objectAtIndex:row];
}




結論としてはこうする。

class ViewController: UIViewController {
  override func viewDidLoad() {
    super.viewDidLoad()
    picker.delegate = self
  }

  override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
  }

  @IBOutlet weak var picker: UIPickerView!

  let items: [String] = [
    "真姫ちゃん","プリティー","パピプペポ"
  ]
}

extension ViewController : UIPickerViewDataSource {
  func numberOfComponentsInPickerView(pickerView: UIPickerView!) -> Int {
    return 1
  }
  func pickerView(pickerView: UIPickerView!, numberOfRowsInComponent component: Int) -> Int{
    return 3
  }
}

extension ViewController : UIPickerViewDelegate {
  func pickerView(pickerView: UIPickerView!, titleForRow row: Int, forComponent component: Int) -> String!{
    return "\(items[row])"
  }
}

他のoverrideメソッドは同じ感じで。
by hsls | 2014-07-28 22:37 | 技術記事


<< 痛チャリ作成日記その1 2013/09/21 TGS2... >>