我创建了一个包含动态数量的 UIView 的 UIScrollView
。每个 UIView 内部都有一个动态数量的 UItextField
。
View 本身看起来像这样
这个白框是 UIView,黑框是 UITextfield。
我有一个方法可以将这些 UITextfield
放入数组的数组中。因此,您有一个 UIView 数组,每个数组中都有一个 UITextfield 数组。
该代码如下所示。
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
是一个好的开始,但我只是不确定如何从这里开始。
最佳答案
如果我没理解错的话,你可以使用 UIView
的 tag
属性
我通常做的(因为我自己遇到了这个问题)是:
一个
。您有已知数量的元素,并将标签从 1
分配到 n
B
。如果您可以添加/删除/或者您只有动态数量的元素,请将质数乘以 1
、2
、3
等。
- 例如,在
1
行,您使用素数3
。所以你的文本字段 将具有3
、6
、9
、12
、15
和18
- 然后在第二行使用
7
。所以你会有你的文本字段 标记为7
、14
、21
、28
、35
和43
- 对于
3
行,您使用11
- 对于
4
行,您使用13
等等......
有很多方法可以完成,这些只是我的想法或实际使用的方法,如果我没有正确理解您想要什么,请随时告诉我。
关于ios - UIPickerView 选择更新 UITextFields 的 NSArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19940609/