iphone - 依赖 UIPickerView

标签 iphone arrays variables uipickerview

有谁知道如何制作依赖的 UIPickerView.例如,当我选择组件一的第 2 行时,组件二的标题会发生变化吗?

我在互联网上查找过,没有真正的答案,我尝试过使用 if 和 switch 语句,但它们只是崩溃了。

最佳答案

这取决于您将如何保存数据。例如,如果您有一个数组作为字典键的值,并且该字典具有不同的此类键,则第一列将是键,选择一个数组后,您将在另一列(组件)。 - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView 方法应返回 2。 在 - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component 方法中,您需要给出组件 1 的字典中键的数量,以及当前所选键的数组的数量。 例如

if(component==0) return [[DICTIONARY allKeys] count];
else return [[DICTIONARY objectForKey:@"SELECTED_KEY"] count];

那么,

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {

    selectedIndex = [pickerView selectedRowInComponent:0];
    if (component == 1 && !(selectedIndex < 0)) {
        [pickerView reloadComponent:2];

        [pickerView selectRow:0 inComponent:2 animated:YES];
    }

}

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view {

    UILabel *pickerRow = (view != nil) ? view : [[[UILabel alloc] initWithFrame:CGRectMake(5, 0, 115, 60)] autorelease];
    pickerRow.font = [UIFont boldSystemFontOfSize:14];
    pickerRow.textAlignment = UITextAlignmentLeft;
    pickerRow.backgroundColor = [UIColor clearColor];
    pickerRow.textColor = [UIColor blackColor];
    pickerRow.numberOfLines = 0;
    if (component == 0) {

        pickerRow.text = @"DICTIONARY_ROW'th_KEY";
    }
    else {

        pickerRow.text = [[dictionary objectForKey:@"SELECTED_KEY"] objectAtIndex:row];

    }
    return pickerRow;
}

关于iphone - 依赖 UIPickerView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5311552/

相关文章:

iphone - 委托(delegate)不工作

javascript - 如何在javascript中只读取小数点前的数字?

c - 在 while 循环中一起使用 isalpha 和 toupper 给出 "index out of bounds"

linux - 如何在不评估命令的情况下从 shell 脚本向 shell 脚本编写命令

javascript - 是否可以从 iframe 中操作父窗口中的变量?

ios - 您如何在 Storyboard 中获取 UISearchbar 的结果并在另一个视点中使用这些结果?

javascript:可以使用 touchmove 来模拟 iPhone 上的鼠标悬停吗?

ios - 如何检测 iOS 设置屏幕并弹出 UIView

java - 这样做的正确方法是什么?

c++ - 字符常量数组为空,即使已为其分配值 [C++]