0
Я хочу создать форму и иметь несколько полей uitext, которые при отображении отображают различные uipickerviews. Мой код работает для одного uipickerview, но как я могу заставить его работать для нескольких просмотров.Несколько UIPickerView, выбранных из нескольких UITextFields
Вот мой код:
- (void)viewDidLoad
{
[super viewDidLoad];
// Date Field
UIDatePicker *datePicker = [[UIDatePicker alloc]init];
//[datePicker setDate:[NSDate date]];
datePicker.datePickerMode = UIDatePickerModeDate;
[datePicker addTarget:self action:@selector(updateTextField:) forControlEvents:UIControlEventValueChanged];
[self.dateField setInputView:datePicker];
[datePicker addTarget:self action:@selector(updateTextField:) forControlEvents:UIControlEventValueChanged];
// Account Field
//Create Array of Accounts
accountArray = [[NSMutableArray alloc]init];
objectArray = [[NSMutableArray alloc]init];
PFQuery *query = [PFQuery queryWithClassName:@"Account"];
[query whereKey:@"user" equalTo:[PFUser currentUser]];
[query orderByDescending:@"startingBalance"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
for (PFObject *object in objects) {
[accountArray addObject:object[@"name"]];
[objectArray addObject:[object objectId]];
//NSLog(@"%@", [object objectId]);
}
accountPicker = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 50, 100, 150)];
//NSLog(@"%@", accountArray[0]);
accountPicker.showsSelectionIndicator = YES;
self.accountField.inputView = accountPicker;
for (NSString *obj in self.objectArray) {
NSLog(@"Inside string %@",obj);
}
accountPicker.delegate = self;
}];
//Category Field
//Create Array of Accounts
categoryArray = [[NSMutableArray alloc]init];
categoryObjectArray = [[NSMutableArray alloc]init];
PFQuery *queryCategory = [PFQuery queryWithClassName:@"Category"];
[queryCategory whereKey:@"user" equalTo:[PFUser currentUser]];
[queryCategory orderByDescending:@"name"];
[queryCategory findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
for (PFObject *object in objects) {
[categoryArray addObject:object[@"name"]];
[categoryObjectArray addObject:[object objectId]];
//NSLog(@"%@", [object objectId]);
}
categoryPicker = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 50, 100, 150)];
//NSLog(@"%@", accountArray[0]);
categoryPicker.showsSelectionIndicator = YES;
self.categoryField.inputView = categoryPicker;
for (NSString *obj in self.categoryObjectArray) {
NSLog(@"Inside string %@",obj);
}
categoryPicker.delegate = self;
}];
for (NSString *obj in self.accountArray) {
NSLog(@"Outside Block%@",obj);
}
}
- (NSInteger)numberOfComponentsInPickerView:
(UIPickerView *)pickerView
{
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView
numberOfRowsInComponent:(NSInteger)component
{
return accountArray.count;
}
- (NSString *)pickerView:(UIPickerView *)pickerView
titleForRow:(NSInteger)row
forComponent:(NSInteger)component
{
return accountArray[row];
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
accountField.text = [accountArray objectAtIndex:row];
number = [objectArray objectAtIndex:row];
}