UIPickerView选择将更新UITextFields的NSArray

问题描述 投票:0回答:1

我创建了一个UIScrollView,其中包含动态数量的UIView。每个UIView内将有一个动态的UItextField s。

视图本身看起来像这样

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9QY3ZZMC5wbmcifQ==” alt =“在此处输入图像描述”>

此白框是UIView,黑框是UITextfield

我有一种方法可以将这些UITextfield放入一个数组数组中。因此,您有一个UIView s数组,然后在每个数组中都有一个UITextfield s数组。

该代码如下所示。

for(int i = 0; i< viewcount; i++) {
        color = color + 20;
        NSLog(@"%f", color);
        CGFloat y = i * 91;

        UIScrollView *axisContainerScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0.0, y,self.view.frame.size.width, 90.0)];
        axisContainerScrollView.contentSize = CGSizeMake(600.0, 90.0);
        axisContainerScrollView.backgroundColor = [UIColor whiteColor];
        [htmlContainerScrollView addSubview:axisContainerScrollView];

//        UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, y,self.view.frame.size.width, 90.0)];
        UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 640.0, 90.0)];
        view.backgroundColor = [UIColor colorWithRed:0/255.0 green:0/255.0 blue:0/255.0 alpha:(1.0/i)];;
        [axisContainerScrollView addSubview:view];

        int cutCount = [cutsString integerValue];
        int positions = (view.frame.size.width/cutCount);

        for (int i = 0; i < cutCount; i++) {
            //first one
            UITextField *cutField = [[UITextField alloc] initWithFrame:CGRectMake(((positions*i)-(20/2)+(positions/2)), 25, 20, 20)];
            cutField.textColor = [UIColor colorWithRed:0/256.0 green:84/256.0 blue:129/256.0 alpha:1.0];
            cutField.font = [UIFont fontWithName:@"Helvetica-Bold" size:25];
            cutField.backgroundColor=[UIColor whiteColor];
            [view addSubview:cutField];

            [columnArrayOfTextFields addObject:cutField]; // array of textfields
        }
        [rowArrayOfTextFields addObject:columnArrayOfTextFields]; // array of arrays

    }

[我想要帮助的是如何逐步遍历每个UITextField并从UIPickerView中输入一个值。因此,当您选择值时,您会从左到右填充每个UITextField,然后向下滚动到每个UItextField

我有一个用于UIPickerView的手势识别器,它在调用这样的方法

UITapGestureRecognizer *singleFingerTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(pickerTap:)];

我认为NSArrays的NSArray是一个好的开始,但我不确定如何从这里开始。

ios nsmutablearray nsarray uipickerview
1个回答
1
投票

如果我理解正确,则可以使用tagUIView属性

我通常做的(因为我自己来解决这个问题,是:

A。您具有已知数量的元素,并将标签从1分配给n

B。如果您可以添加/删除/或者仅具有动态数量的元素,请将质数乘以123

  • 例如,在行1上使用素数3。所以你的文字栏位将具有类似369121518]的标签>
  • 然后第二行将使用7。这样您将拥有您的文本字段标记为71421283543
  • 对于行3,请使用11
  • 对于行4,您使用13,依此类推...
  • 有很多方法可以完成,这些方法只是在我的头上,或者实际上是我所用的,如果我对您想要的内容不正确,请随时告诉我。

© www.soinside.com 2019 - 2024. All rights reserved.