0

我创建了一个UIScrollView包含动态数量的 UIViews。每个 UIView 内部都会有一个动态数量的UItextFields。

视图本身看起来像这样

在此处输入图像描述

这个白框是 UIView,黑框是UITextfields。

我有一种方法可以将这些UITextfields 放入数组数组中。所以你有一个UIViews数组,然后在每个数组中都有一个UITextfields数组。

该代码看起来像这样。

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并从 a 中输入一个值UIPickerView。因此,当您选择值时,您UITextField会从左到右填充每个值并向下遍历每个UItextField.

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

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

我认为NSArrayNSArrays 是一个好的开始,但我只是不确定如何从这里取得进展。

4

1 回答 1

1

如果我理解正确,您可以tag使用UIView

我通常做的(因为我自己遇到了这个问题)是:

A. 您有已知数量的元素,并将标签分配1n

B. 如果您可以添加/删除/或者您只有动态数量的元素,请将质数与1,2等相乘3

  • 例如,在线1您使用质数3。所以你的文本字段将有标签,如3, 6, 9, 12,1518
  • 然后对于第二行,您将使用7. 因此,您的文本字段将标有7, 14, 21, 28,3543
  • 对于3您使用的线路11
  • 对于4您使用的线路13等...

有很多方法可以完成,这些只是我的头脑或实际上我使用的,如果我没有正确理解你想要什么,请随时让我知道。

于 2013-11-12T21:58:24.907 回答