2016-04-12 55 views
0

我已经做了很多选择器视图之前,一些有2个组件。但在阅读完所有文章之后,我无法获得一排选择。UIPickerView selectRow不改变显示

我有我的视图控制器内的滚动视图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的ART是30,所以我知道我在那里。

我已经试过: - 触发didSelectRow - - 从viewWillAppear中 加载 - 之前和之后 重装组件创建一个按钮来更新该行

没有奏效。

谢谢!

+0

好奇 - 如果您的选取器视图属性设置为出口,为什么您还以编程方式创建选取器视图? – rmaddy

+0

你的问题没有上下文。所有这些代码在哪里?什么是实际问题?目前尚不清楚。 – rmaddy

+0

maddy。你是一个天才。我一直在寻找这么久。我当然从我的其他应用程序中借用了代码。我刚刚评论了这个分配,它起作用了! – Scott

回答

0

感谢@maddy,我意识到我正在以编程方式分配选择器。我删除了行分配和初始化采集器,它的工作!