繁体   English   中英

如何使用标签将PickerView选择设置为UITextFIeld.text?

[英]How to set PickerView selection to UITextFIeld.text using tags?

我目前正在创建一组文本字段,并且在一定条件下(而不是键盘),该文本字段将显示pickerview。 做出选择后,我需要用选择填充文本字段。 我已经在所有文本字段上创建了标签,问题是我不知道选择所需文本字段的语法。

这是用于使用pickerview创建文本字段的代码。

    else if([input.controlTypeName compare:@"RadioButton"] == NSOrderedSame){
        UITextField *pickerViewtext = [[UITextField alloc] initWithFrame:CGRectMake(x, y, 280, 31)];          
        pickerViewtext.borderStyle = UITextBorderStyleRoundedRect;
        pickerViewtext.textColor = [UIColor blackColor]; //text color
        pickerViewtext.font = [UIFont systemFontOfSize:17.0];  //font size
        pickerViewtext.placeholder = placeholder;   //place holder
        pickerViewtext.backgroundColor = [UIColor whiteColor]; //background color
        pickerViewtext.autocorrectionType = UITextAutocorrectionTypeNo; // no auto correction support
        pickerViewtext.tag = i;  //tag the textfields for future data collection
        pickerViewtext.keyboardType = UIKeyboardTypeDefault;  // type of the keyboard
        pickerViewtext.returnKeyType = UIReturnKeyDone;  // type of the return key
        pickerViewtext.clearButtonMode = UITextFieldViewModeWhileEditing;   // has a clear 'x' button to the right     
        pickerViewtext.delegate = self; // let us be the delegate so we know when the keyboard's "Done" button is pressed

        UIPickerView *radioPicker = [[UIPickerView alloc] initWithFrame:CGRectZero];
        radioPicker.delegate = self;
        radioPicker.showsSelectionIndicator = YES;
        radioPicker.tag = i;   
        radioTag = i;

        [radioSize addObject:[NSNumber numberWithInt:5]];
        [radioList addObject:input.sourceText];     


        pickerViewtext.inputView = radioPicker;


        [inputsView addSubview:pickerViewtext];
        y = y + 50;
   }

我基本上不知所措

- (void)pickerView:(UIPickerView *)pickerView didSelectRow: (NSInteger)row inComponent:    (NSInteger)component {
// Handle the selection
  }

委托方法。 我考虑过将'radioTag'变量用作某种全局变量。 但是,可能有多个文本字段使用pickerview,这只会导致所有picker视图链接回相同的文本字段。 而且我发现的大多数标记示例似乎都不适用于此示例,或者它们太旧且语法已更改。 任何帮助都会很棒。

谢谢。

我有使用以下内容的类似类型的应用,这可能会为您指明正确的方向

NSString *aVal = [activities objectAtIndex:[_emailPicker selectedRowInComponent:0]];
a=[aVal intValue];
NSString *bVal = [activities objectAtIndex:[_emailPicker selectedRowInComponent:1]];
b=[bVal intValue];
NSString *cVal = [activities objectAtIndex:[_emailPicker selectedRowInComponent:2]];
c=[cVal intValue];

它具有三个组件,您可以只使用component:0或任何您需要的组件。 每个部分的第二部分都将转换为您可能不需要的intValue [整数值]。 其他人可能会。

将这些值放入mutableArray中,并使用以下命令“输入”到选择器视图中:

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:   (NSInteger)component
{
    if (component == 0) {

        return [activities count];
    }
    else if (component == 1) {
        return [feelings count];
    }
    else if (component==2) {
        return [addresses count];
    }
    else return 0;
}

我的三个阵列称为活动,感觉和地址,计数是每个阵列中的条目数。 我希望这能使您走得更远。

UITextField *textField = (UITextField *)[inputsView viewWithTag:pickerView.tag];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM