我创建了一个UIScrollView
,其中包含动态数量的UIViews。每个UIView内部都是UItextField
s的动态数字。
视图本身看起来像这样
此白框是UIViews,黑框是UITextfield
s。
我有一个将这些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:)];
任何有关pickerTap方法的帮助都会非常感激,因为我不知道如何做到这一点...我认为NSArrays的NSArray
是一个好的开始,但我只是不确定如何从这里进步
答案 0 :(得分:1)
如果我理解正确,您可以使用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
依此类推...... 有很多方法可以做,这些只是我的头脑或实际上我使用的,如果我没有正确理解你想要什么,请随时让我知道。