之前我做过很多选择器视图,有些包含2个组件。但在阅读完所有文章之后,我才能选择一行。
我在视图控制器中的滚动视图上有2个选择器视图。每个都有不同的标签和不同的价值观。拾取器正确加载,所以我现在委托和数据源正在工作。
我在同一个视图上有多个开关,它们正在正确更新。
@property (strong, nonatomic) IBOutlet UIPickerView *autolockPicker;
@property (strong, nonatomic) IBOutlet UIPickerView *autoRelockPicker;
autolockTimes = @[@"Disabled",@"5 Seconds",@"10 Seconds",@"15 Seconds",@"30 Seconds"];
autolockPicker = [[UIPickerView alloc]init];
autolockPicker.delegate = self;
autolockPicker.tag = 0;
autoRelockTimes = @[@"Disabled",@"15 Seconds",@"30 Seconds",@"60 Seconds",@"90 Seconds"];
autoRelockPicker = [[UIPickerView alloc]init];
autoRelockPicker.delegate = self;
autoRelockPicker.tag = 1;
if ([lsd.ARE isEqualToString:@"Disabled"]) {
[autoRelockPicker selectRow:0 inComponent:0 animated:NO];
} else if ([lsd.ART isEqualToString:@"15"]) {
[autoRelockPicker selectRow:1 inComponent:0 animated:NO];
} else if ([lsd.ART isEqualToString:@"30"]) {
NSLog(@"ART is 30");
[autoRelockPicker selectRow:2 inComponent:0 animated:YES];
} else if ([lsd.ART isEqualToString:@"60"]) {
NSLog(@"ART is 60");
[autoRelockPicker selectRow:3 inComponent:0 animated:NO];
} else if ([lsd.ART isEqualToString:@"90"]) {
[autoRelockPicker selectRow:4 inComponent:0 animated:NO];
}
我得到的NSLog for ART是30,所以我知道我在那里。
我试过了: - 在之前和之后重新加载组件 - 触发didSelectRow - 从ViewWillAppear加载 - 创建一个按钮来更新所需的行
没有任何效果。
谢谢!
答案 0 :(得分:0)
感谢@maddy,我意识到我正在以编程方式分配选择器。我删除了行以分配和初始化选择器,它工作了!