我创建了一个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
是一个好的开始,但我不确定如何从这里开始。
如果我理解正确,则可以使用tag
的UIView
属性
我通常做的(因为我自己来解决这个问题,是:
A
。您具有已知数量的元素,并将标签从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
,依此类推...有很多方法可以完成,这些方法只是在我的头上,或者实际上是我所用的,如果我对您想要的内容不正确,请随时告诉我。