簡體   English   中英

在文本字段內部點擊時如何添加UIPickerView?

[英]How do I add a UIPickerView when tapping inside a text field?

我有這個代碼來添加一個datepicker:

// 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";
    }
}

提前謝謝了,

彼得

將委托和數據源設置為self:

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

也位於.m文件的頂部:

@interface YourViewController ()<UIPickerViewDataSource,UIPickerViewDelegate>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM