私は Xcode の初心者で、アプリのビルド中に問題が発生しました。私のアプリは、UILabel、UIPickerView、UISegmentControl で構成されています。ユーザーが UIPickerView で選択した行を変更するたびに、アプリが UILabel に異なる値を表示するようにしました。最初は、UILabel に表示する値のセットが 1 つしかありませんでしたが、最終的に 2 つ目のセットを追加しました。ユーザーがこれら 2 つのセットを切り替えることができるように、UISegmentControl を追加しました。これが私の「ifステートメント」の例です
- (void)pickerView: (UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
if (row == 0 && segmentController.selectedSegmentIndex == 0) {
pickLabel.text=@"100 PPM";
}
else if (row == 0 && segmentController.selectedSegmentIndex == 1) {
pickLabel.text=@"110 PPM";
}
else if (row == 1 && segmentController.selectedSegmentIndex == 0) {
pickLabel.text=@"95 PPM";
}
else if (row == 1 && segmentController.selectedSegmentIndex == 1) {
pickLabel.text=@"105 PPM";
}
問題は、セグメント コントロールが変更されたときではなく、UIPickerView で選択された行が変更されたときにのみ UILabel の値が変更されることです。たとえば、セグメント コントロール インデックスを変更すると、UIPicker の別の行に切り替えるまで UILabel は変更されません。セグメント コントロール インデックスが変更されたときに UILabel を強制的に変更する IBAction を作成したいと考えています。IBAction を「値が変更された」状態で UISegmentControl に接続します。IBAction に入れるコードが必要です。助けてください!