我可以使用一个UIPickerView与许多UITextFields,或者我应该创建多个pickerviews,每个UITextField(我有同一视图中的所有UITextFields)?一个UIPickerView与多个文本域
1
A
回答
0
我觉得有多个文本框的Picker视图就足够了。您可以根据自己的需要轻松标记文本字段并对其进行处理。
Multiple sources for UIPickerView on textfield editing
将帮助您开始
2
请声明此全球textFieldName:
NSString * textFieldName;
分配在didLoad:
- (void)viewDidLoad
{
[super viewDidLoad];
[pickerView setHidden:YES];
textFieldName=[NSString alloc]init];
pickerArray1 = [[NSMutableArray alloc] initWithObjects:@"apple", @"mango", @"banana", nil];
pickerArray2 = [[NSMutableArray alloc] initWithObjects:@"black", @"white", @"green", nil];
}
请textFieldName字符串设置文本字段名称:
-(void)textFieldDidBeginEditing:(UITextField *)textField{
[pickerView setHidden:YES];
if (textField1.editing == YES)
{
textFieldName=textField1;
[pickerView setHidden:NO];
}
else
if (textField2.editing == YES)
{
textFieldName=textField2;
[pickerView setHidden:NO];
}
}
然后用这个textFieldName在pickerview方法来检查:
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView;
{
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component;
{
if (textFieldName isEqualToString:@"textField1")
{
return [pickerArray1 count];
}
else
if (textFieldName isEqualToString:@"textField2")
{
return [pickerArray2 count];
}
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component;
{
if (textFieldName isEqualToString:@"textField1")
{
return [pickerArray1 objectAtIndex:row];
}
else
if (textFieldName isEqualToString:@"textField2")
{
return [pickerArray2 objectAtIndex:row];
}
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
if (textFieldName isEqualToString:@"textField1")
{
textField1.text= [pickerArray1 addObjectAtIndex:row];
}
else
if (textFieldName isEqualToString:@"textField2")
{
textField2.text= [pickerArray2 addObjectAtIndex:row];
}
[pickerView setHidden:YES];
}
4
-(void)textFieldDidBeginEditing:(UITextField *)textField
{
if (textField1.editing == YES)
{
textFieldName=textField1;
}
else
if (textField2.editing == YES)
{
textFieldName=textField2;
}
}
3
使用数组列表视图,然后得到这个职位。
相关问题
- 1. 多个UIPickerView在同一个UIView
- 2. UIPickerView - 一个组件作为图像,另一个作为文本
- 3. 使用多个UIPickerView
- 4. 多个uipickerview和uidatapicker
- 5. UIPickerView与2个NSMutableArrays?
- 6. 我有一个文本区域,将有多行文本
- 7. 如何使用UIPickerView在一个视图中填充不同的文本域?
- 8. 多个插件域,一个htaccess文件
- 9. 添加多个文本文件的值必须检索在一个文本域
- 10. SQL与多个文本框一样
- 11. UIPickerView selectRow在多个组件顺序(一个接一个)
- 12. 创建一个多输入到单个输出文本区域
- 13. 如何在文本区域中选择(一个或多个)行
- 14. UIPickerView与日期只在一个方向
- 15. 移动一个UIPickerView
- 16. Javascript - 复制一个页面上的多个文本区域的文本按钮
- 17. 寻找一个可以做多个文本区域的jQuery文本计数器!
- 18. PHP写txt文件与多个领域
- 19. UIPickerView与多行UILabel
- 20. UITableView上的多个UIPickerView
- 21. UIPickerView与2个组件
- 22. AS3多个文本域变得容易
- 23. 创建从一个文本文件与多个数据类型
- 24. 阅读与多个标志java的一个纯文本文件
- 25. 当与另一个工作时,模糊其中一个UIPickerView行
- 26. UIPickerView:从另一个迅速文件
- 27. cakephp .htaccess与多个域
- 28. 如何将一个文本区域拆分为两个文本区域?
- 29. 使用一个UISegmentedControl使用一个UIPickerView
- 30. 与文本域
如果你有你的答案,然后点击右键给出与答案 – dks1725 2011-04-12 11:36:13
好吧,但我不知道如何做到这一点。 – izan 2011-04-12 11:39:20
如何接受答案? – izan 2011-04-12 11:39:45