1

私は xcode に非常に慣れていないので、最初のアプリについて質問があります。アプリに NSMutableArray で満たされた 2 つのコンポーネントを持つ UIPickerView があります。最初のコンポーネントが変更されると、2 番目のコンポーネントの配列がクリアされ、新しい値が入力されます。ここで、UIWebView にローカル HTML ページをロードするために、最初のコンポーネントで選択された行と 2 番目のコンポーネントで選択された行を検出する必要があります。if ループで試してみましたが、2 つのコンポーネントで選択されたすべての行を検出する方法がわかりません。ソースコードの小さなスニペットを次に示します。

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
NSLog(@"the %d row was selected in the %d component", row, component);
if ((component == 0) && (row ==0)){
     [rightPickerArray removeAllObjects];
     [rightPickerArray addObject:@"5.0"];
     [rightPickerArray addObject:@"5.1"];
     [pickerView reloadAllComponents];
}
if ((component == 0) && (row ==1)){
    [rightPickerArray removeAllObjects];
    [rightPickerArray addObject:@"1"];
    [rightPickerArray addObject:@"2"];
    [pickerView reloadAllComponents];
}

if ((component ==1) && (row ==0)){
    NSString *fileString = [[NSBundle mainBundle] pathForResource:@"index" ofType: @"html"];

    NSString *newHTMLString = [[NSString alloc] initWithContentsOfFile: fileString encoding: NSASCIIStringEncoding error: NULL];

    NSURL *newURL = [[NSURL alloc] initFileURLWithPath: fileString];

    [myWebView loadHTMLString: newHTMLString baseURL: newURL];
}
4

1 に答える 1

2

UIPickerView には、これを支援する「selectedRowInComponent:」メソッドがあります。これをチェックしてください。

于 2012-09-02T14:34:08.120 に答える