我该怎么做?我想用EURO, USD, POUND等值填充它,并在点击相应行时将值粘贴到文本字段中。
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
// Make a new view, or do what you want here
UIPickerView *picker = [[UIPickerView alloc]
initWithFrame:CGRectMake(0, 244, 320, 270)];
[self.view addSubview:picker];
return NO;
}
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
myTextField.text= [PickerArray objectAtIndex:row];
}
你应该实现在你的委托方法-(NSString*) pickerView:(UIPickerView*)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
,将返回标题@"EURO"
, @"USD"
, @"POUND"
, @"RUB"
为您的行。
-(NSString*) pickerView:(UIPickerView*)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
switch(component)
{
case 0:
return @"EURO";
case 1:
return @"USD";
case 2:
return @"POUND";
case 3:
return @"RUB";
}
return @"";
}
在委托方法中编写代码
-(NSString*) pickerView:(UIPickerView*)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{返回字符串;}
这样的数组添加@"一",@"两个"@"三"@"四"
正如其他人已经写过的那样,你必须添加上面提到的委托方法来用数组中的项填充你的PickerView。要将值写入文本字段,有两种方法。你可以写一个pickerView didSelectRow: delegate方法像这样:
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
myTextField.text= [myArray objectAtIndex:row];
}
这将在每次点击一行时更新textField。另一种方式是你在按下按钮或其他动作时拉取pickerView的值。类似于
- (void)someAction:(id)sender
{
NSInteger row = [myPicker selectedRowInComponent:0];
myTextField.text = [myArray objectAtIndex:row];
}