2014-02-22 32 views
0

我有這樣的代碼添加日期選擇器:如何在文本字段內點擊時添加UIPickerView?

// Initiate datepicker and assign to due date 
_datePicker = [[UIDatePicker alloc] init]; 
[_datePicker addTarget:self action:@selector(dateChanged:) 
forControlEvents:UIControlEventValueChanged]; 
_datePicker.minuteInterval = 15; 
_dueDate.inputView = _datePicker; 

我試圖做同樣的事情用pickerview,但我沒有成功,可能有人解釋一下爲什麼?

這是我的代碼: // Initaite的pickerview和分配給優先級的文本字段 _priorityPickerView = [[UIPickerView的alloc] initWithFrame:方法CGRectMake(0,200,320,200)];

// Array otions for priority picker 
NSArray *array = [[NSArray alloc] initWithObjects:@"High",@"Medium",@"Low", nil]; 
self.priorityPickerData = array; 

// Connect text field to pickerview 
_priority.inputView = _priorityPickerView; 

這是該數據在選擇器視圖設置:

// Picker View functions 
-(NSInteger)numberOfComponantsInPickerView:(UIPickerView *)pickerView{ 
    return 1; 
} 

-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{ 
    return [_priorityPickerData count]; 
} 

-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{ 
    return [self.priorityPickerData objectAtIndex:row]; 

} 

-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{ 
    int select = row; 
    if(select == 0){ 
     _priority.text = @"High"; 
    }else if(select == 1){ 
     _priority.text = @"Medium"; 
    }else if(select == 2){ 
     _priority.text = @"Low"; 
    } 
} 

很多感謝,

彼得

+0

應用程序崩潰或鍵盤出現了嗎? –

+0

嗨阿卜杜拉,它不會崩潰,鍵盤不顯示。 –

+0

那麼沒有任何反應? –

回答

2

委託和數據源設置爲自:

_priorityPickerView.delegate = self; 
_priorityPickerView.dataSource = self; 

A lso在你的.m文件的頂部:

@interface YourViewController()<UIPickerViewDataSource,UIPickerViewDelegate> 
+0

我會在幾分鐘內給出一個:) –

+0

今天你已經幫了我兩次!你是一個傳奇!謝謝! –

相關問題