2011-09-07 61 views
0

我該怎麼做?我想用EURO,USD,POUND等值來填充它,並在我點擊相應的行時將該值粘貼到文本框中。XCode:如何用代碼直接在內容中填充UIPickerView?

- (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; 
} 

回答

2

你應該在你的委託方法-(NSString*) pickerView:(UIPickerView*)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component實施,將返回標題@"EURO"@"USD"@"POUND"@"RUB"你行。

例如,在你的委託方法

-(NSString*) pickerView:(UIPickerView*)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component 

{ 返回字符串

-(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 @""; 
} 
+0

我張貼代碼。你現在有什麼問題? – Nekto

+0

我不確定他想把這些物品放入不同的組件中。 –

+0

因此,您希望在您選擇TableView中的行時顯示UIPickerView? –

0

寫代碼; }

在陣列中添加這樣@「一」,@「二」,@「三」,@「四個一」

+0

爲什麼你想返回數組? – Nekto

0

正如其他人已經寫你必須添加上述mentiond委託方法填補使用數組中的項目來啓動PickerView。爲了將值寫入文本字段,可以通過兩種方式來完成此操作。您可以不寫pickerView didSelectRow:委託方法是這樣的:

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component 

{ 

myTextField.text= [myArray objectAtIndex:row]; 

} 

這將每次行上挖掘時更新文本字段。另一種方法是通過按下按鈕或其他操作來獲取pickerView的值。類似

- (void)someAction:(id)sender 
{ 

    NSInteger row = [myPicker selectedRowInComponent:0]; 
    myTextField.text = [myArray objectAtIndex:row]; 

} 
3
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component 
{ 
    myTextField.text= [PickerArray objectAtIndex:row]; 
}