我已經創建了兩個UITextFields
,並且想要爲具有不同值的textFields
創建兩個不同的UIPickerViews
,以及如何將具體的textFields
映射到每個pickerView
具體? 有幫助嗎?如何爲兩個文本框創建兩個選取器視圖?
-1
A
回答
0
首先,創建兩個數組包含不同的值你想在差異選擇器中顯示,我們說aray1和ary2。
現在.h文件中
@interface YourViewController : UIViewController<UITextFieldDelegate,UIPickerViewDelegate, UIPickerViewDataSource>
{
UIToolbar* keyboardDoneButtonView;
UIPickerView *pickerView;
NSString * txtFieldSelected;
NSArray *ary2;
NSArray *ary1;
}
而在.h文件中
- (void)viewDidLoad
{
[super viewDidLoad];
firstTF.delegate = self;
secondTF.delegate = self;
ary1 =[NSArray arrayWithObjects:@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8", nil];
ary2 =[NSArray arrayWithObjects:@"a",@"s",@"d",@"f",@"g",@"h",@"x",@"c", nil];
}
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
if (textField == firstTF) {
txtFieldSelected = @"firstTF";
}else if (textField == secondFF) {
txtFieldSelected = @"secondTF";
}
CGRect pickerFrame = CGRectMake(0, 40, 0, 0);
pickerView = [[UIPickerView alloc] initWithFrame:pickerFrame];
pickerView.showsSelectionIndicator = YES;
pickerView.dataSource = self;
pickerView.delegate = self;
keyboardDoneButtonView = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
keyboardDoneButtonView.barStyle = UIBarStyleBlackTranslucent;
[keyboardDoneButtonView sizeToFit];
NSMutableArray *barItems = [[NSMutableArray alloc] init];
UIBarButtonItem *cancelBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancelButtonPressed:)];
[barItems addObject:cancelBtn];
UIBarButtonItem *flexSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
[barItems addObject:flexSpace];
UIBarButtonItem *doneBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(doneButtonPressed:)];
[barItems addObject:doneBtn];
[keyboardDoneButtonView setItems:barItems animated:YES];
textField.inputAccessoryView = keyboardDoneButtonView;
textField.inputView = pickerView;
return YES;
}
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component;
{
if (txtFieldSelected == @"firstTF") {
return ary1.count;
}else if (txtFieldSelected == @"secondTF") {
return ary2.count;
}
return 1;
}
-(void)doneButtonPressed:(id)sender{
if (txtFieldSelected == @"firstTF") {
[firstTF resignFirstResponder];
}else if (txtFieldSelected == @"secondTF") {
[secondTF resignFirstResponder];
}
}
-(void)cancelButtonPressed:(id)sender{
if (txtFieldSelected == @"firstTF") {
[firstTF resignFirstResponder];
}else if (txtFieldSelected == @"secondTF") {
[secondTF resignFirstResponder];
}
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow: (NSInteger)row inComponent:(NSInteger)component {
// called when a row is selected
if (txtFieldSelected == @"firstTF") {
firstTF.text = [ary1 objectAtIndex:row];
}else if (txtFieldSelected == @"secondTF") {
secondTF.text = [ary2 objectAtIndex:row];
}
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
if (txtFieldSelected == @"firstTF") {
return [ary1 objectAtIndex:row];
}else if (txtFieldSelected == @"secondTF") {
return [ary2 objectAtIndex:row];
}
return @"Good Day";
}
1
textField.inputview
怎麼樣,分別爲你選擇這個選項。
textField.inputView = pickerView1;
textField1.inputView = pickerView2;
如果我寫在這種情況下,一個代碼,然後,而不是創建兩個pickerView
的,我將創建一個pickerview
並更改datasource
每個textfield
0
textField1.inputView = pickerView1;
textField2.inputView = pickerView2;
pickerView.tag = 1;
pickerView.tag = 2;
使用UIPickerView
委託方法與添加標籤這一點。
相關問題
- 1. 如何創建包含兩個圖像的文本編輯器?
- 2. 如何在一個容器中創建兩個文本字段?
- 3. ExtJS CheckboxSelectionModel創建兩個複選框?
- 4. 如何創建兩個邊框
- 5. 使用兩個模型創建視圖
- 6. 兩個數據源創建視圖
- 7. 如何在一個視圖中創建兩個NSTtableView?
- 8. 如何在單個視圖控制器中創建兩個多個UIPickerviews
- 9. rails用一個控制器創建兩個視圖
- 10. 如何爲兩個相關實體創建視圖和視圖模型
- 11. 如何爲每個圖像創建一個文本框?
- 12. 如何爲兩個不同的類創建兩個onactivityresult
- 13. 創建兩個選擇所有複選框複選框
- 14. MVc3如何結合兩個視圖來創建一個大視圖?
- 15. ios:如何從IB中的一個視圖創建兩個不同的視圖?
- 16. 如何對齊兩個文本框?
- 17. 如何連接兩個富文本框
- 18. 如何處理兩個容器視圖內的兩個集合視圖
- 19. 試圖創建兩個div
- 20. 使用Rails中的兩個選擇框創建日期範圍選取器
- 21. 我試圖找到兩個文本框
- 22. 比較兩個文本框
- 23. 與textfieldShouldReturn()兩個文本框
- 24. 如何讓兩個文本框顯示爲一個?
- 25. 如何在extjs中創建兩個面板視圖
- 26. 如何在兩個表視圖之間創建陰影?
- 27. 一個視圖,兩個選項
- 28. 如何在一個視角上創建兩個相等的視圖
- 29. 兩個複選框作爲一個
- 30. 一個視圖中的兩個textfield的兩個採樣器