2010-12-12 11 views
1

私はテーブルビューコントローラを持っていて、テーブルビューセルを扱う別のクラスがあります。テーブルビューのセルの中に私はpickerviewを持っています。 tableCellクラスにあるが、私のデリゲート関数はtableviewコントローラ内のpickerviewのデリゲートとデータソースを実装する方法は?UIPickerView + TableViewCell +デリゲートとデータソース

答えて

1

テーブルビューのセルが作成されたときに、そのテーブルビューコントローラがプロパティをデリゲートとデータソースであることを示すように設定できます。

あなたが作成したtableviewcellクラスでは、あなたのインスタンスであるプロパティを追加するだけです。

@property (nonatomic, retain) MyTableViewController * pickerDelegate; 

は、その後、あなたのcellForRowAtIndexPathであなたが自己

cell.pickerDelegate = self; 

にそのプロパティを設定することができますようにあなたはまた、各セルを区別するために、タグのようなある種の余分なプロパティを設定する必要があるかもしれません。私はNSIndexPathのようなtableviewcellの別のプロパティを行うと思います。スウィフトのために

+0

ありがとう、今試してみましょう... –

+0

あなたのためにこの仕事をしましたか? – geekydevjoe

0

  1. カスタムテーブルビュークラスでUIPickerViewのための出口を作成します。

    class MyTableViewCell: UITableViewCell, UIPickerViewDelegate, UIPickerViewDataSource { 
        @IBOutlet var myPickerView: UIPickerView! 
    } 
    
  2. をのViewControllerで "cellForRowAtIndexPath" にデリゲートとデータソースを追加します。

    class myViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource, UITableViewDelegate, UITableViewDataSource { 
        func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {    
         let cell = tableView.dequeueReusableCellWithIdentifier("myCell") as! MyTableViewCell 
    
         cell.myPickerView.dataSource = self 
         cell.myPickerView.delegate = self 
    
         return cell 
        } 
    } 
    
関連する問題