2010-12-12 2 views
1

테이블 뷰 컨트롤러가 있고 테이블 뷰 셀을 처리하는 별도의 클래스가 있습니다. tableview 셀 안에는 pickerview가 있습니다. tableCell 클래스에 있지만 테이블 뷰 컨트롤러에서 내 대리자 기능을하는 pickerview에 대한 대리자 및 데이터 소스를 구현하는 방법은 무엇입니까?UIPickerView + TableViewCell + 대리자 및 데이터 소스

답변

1

tableview 셀이 테이블 뷰 셀에 생성 될 때 위임자 및 데이터 소스임을 나타내는 속성을 설정할 수 있습니다.

당신이 만든 tableviewcell 클래스는 당신의 인스턴스 인 tableview 컨트롤러의 속성을 추가하기 만하면됩니다.

@property (nonatomic, retain) MyTableViewController * pickerDelegate; 

이 그런 다음 cellForRowAtIndexPath 당신이 자기

cell.pickerDelegate = self; 

해당 속성을 설정할 수 있습니다 마찬가지로 당신은 또한 각 셀을 구별하는 태그처럼 어떤 종류의 추가 속성을 설정해야 할 수도 있습니다. NSIndexPath 같은 tableviewcell 다른 속성을 할 것이라고 생각합니다. 스위프트를 들어

+0

감사합니다. , 지금 시도해 볼 것입니다 ... –

+0

이 작품을 위해 당신을 했습니까? – geekydevjoe

0

:

class MyTableViewCell: UITableViewCell, UIPickerViewDelegate, UIPickerViewDataSource { 
    @IBOutlet var myPickerView: UIPickerView! 
} 
  • 가의 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 
        } 
    } 
    
    1. 사용자 정의 테이블 뷰 클래스에 UIPickerView에 대한 출구를 만들기