2
我对Xcode是完全陌生的,任何与编码有关的东西都是真的,但是我对它有所了解,直到现在似乎都没有问题。我想要做什么...带条件的UIPickerView
我有一个UIPickerView
有2个组件由数组填充。这很好,可爱,但我希望进一步迈出这一步。
在左侧的组件中,我希望列出具有永不变化的常量值。在第二个组件中,我希望有一个在第一个组件中点击过的选择的子列表。
例如: -
BOY : Matt
Tom
Pete
GIRL : Jess
Nina
Sarah
我想我可以用一个if
语句获取这些变化发生,但不知道的语言......只有这么多的试错一个人可以拿!
干杯
@interface TripsViewController()
@end
@implementation TripsViewController
@synthesize ActivitysLabel;
@synthesize TripsLabel;
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 2;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
if (component == ACTIVITY)
return [ArrayActivity count];
if (component == TRIPS)
return [ArrayTrips count];
return 0;
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
if (component == ACTIVITY)
return [ArrayActivity objectAtIndex:row];
if (component == TRIPS)
return [ArrayTrips objectAtIndex:row];
return 0;
}
- (void) pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
ActivitysLabel.text = [ArrayActivity objectAtIndex:[pickerView selectedRowInComponent:0]];
TripsLabel.text = [ArrayTrips objectAtIndex:[pickerView selectedRowInComponent:1]];
}
- (id)initWithStyle:(UITableViewStyle)style
{
self = [super initWithStyle:style];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
ArrayActivity = [[NSMutableArray alloc] init];
[ArrayActivity addObject:@"Abseiling"];
[ArrayActivity addObject:@"Canyoning"];
[ArrayActivity addObject:@"Rock Climbing"];
[ArrayActivity addObject:@"Bush Walking"];
[ArrayActivity addObject:@"Mountain Biking"];
[ArrayActivity addObject:@"4wd Tours"];
// My attempts at trying to solve this problem
if (ArrayActivity containsObject:NSString @"Canyoning") {
ArrayTrips = [[NSMutableArray alloc] init];
[ArrayTrips addObject:@"Empress Canyon"];
[ArrayTrips addObject:@"Sheep Dip"];
[ArrayTrips addObject:@"butterbox"];
}
或者有人可以给我一个链接,如果这已在其他地方回答。真的想把这个问题排除出去。 –