2016-04-12 12 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 for ARTは30ですので、私はそこにいると知っています。

私が試した: は - 前後のコンポーネントをリロード - didSelectRow をトリガ - ViewWillAppear からロード -

何も働いていない所望の行を更新するためのボタンを作成。

ありがとうございます!

+0

好奇心 - ピッカービューのプロパティがアウトレットとして設定されている場合、ピッカービューをプログラムで作成するのはなぜですか? – rmaddy

+0

質問に文脈がありません。このコードはどこにありますか?実際の問題は何ですか?それははっきりしていません。 – rmaddy

+0

maddy。あなたは天才です。私はずっとそれを見てきました。私は他のアプリからコードを借りていた。私はちょうどallocをコメントし、それは動作します! – Scott

答えて

0

@maddyのおかげで、私はプログラムでピッカーを割り当てていることに気付きました。 allocとpickersの行を削除し、それは働いた!

関連する問題