在我的包含8行数据的tableview中,我想在otherview中显示8个标签和8个textfield,例如:如果用户选择(勾选)uitableview中的4行意味着我想在其他地方显示4个标签和4个texfield视图。任何人都可以帮我解释这个逻辑吗?
- (void)viewDidLoad
{
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"background.png"]];
[lb5 setHidden:YES];
[text5 setHidden:YES];
[lb6 setHidden:YES];
[text6 setHidden:YES];
//[lb7 setHidden:YES];
//[text7 setHidden:YES];
//[lb8 setHidden:YES];
//[text8 setHidden:YES];
scrollView.frame = CGRectMake(0, 0, 320, 460);
[scrollView setContentSize:CGSizeMake(320, 678)];
int s=[am.genar count];
am=(AppDelegate*)[[UIApplication sharedApplication] delegate];
NSLog(@"test %d",[am.genar count]);
NSLog(@"test %@",[am.genar objectAtIndex:0]);
lb1.text=[am.genar objectAtIndex:0];
NSLog(@"test %@",[am.genar objectAtIndex:1]);
lb2.text=[am.genar objectAtIndex:1];
NSLog(@"test %@",[am.genar objectAtIndex:2]);
lb3.text=[am.genar objectAtIndex:2];
NSLog(@"test %@",[am.genar objectAtIndex:3]);
lb4.text=[am.genar objectAtIndex:3];
if(s>3)
{
[lb5 setHidden:NO];
[text5 setHidden:NO];
[lb6 setHidden:NO];
[text6 setHidden:NO];
// [lb7 setHidden:NO];
// [text7 setHidden:NO];
// [lb8 setHidden:NO];
// [text8 setHidden:NO];;
NSLog(@"test %@",[am.genar objectAtIndex:4]);
lb5.text=[am.genar objectAtIndex:4];
NSLog(@"test %@",[am.genar objectAtIndex:5]);
lb6.text=[am.genar objectAtIndex:5];
// NSLog(@"test %@",[am.genar objectAtIndex:6]);
// lb7.text=[am.genar objectAtIndex:6];
// NSLog(@"test %@",[am.genar objectAtIndex:7]);
// lb8.text=[am.genar objectAtIndex:7];
}
[super viewDidLoad];
}
现在我正在使用这个逻辑来显示texfield和label,但如果用户选择5行并且它正在工作6行,则会显示错误。有什么可以帮我清楚的吗?
答案 0 :(得分:0)
不要这样编码..,
int s=[am.genar count];
am=(AppDelegate*)[[UIApplication sharedApplication] delegate];
在声明AppDelegate Variable。,
之后添加S值 am=(AppDelegate*)[[UIApplication sharedApplication] delegate];
int s=[am.genar count];
并尝试打印值。,。
答案 1 :(得分:0)
根据您的应用程序设计,可能有意义在第二个视图控制器中使用表视图,可以根据需要轻松创建任意数量的行并正确显示标题。
如果您需要使用插座标签和文本字段,我会像
一样NSArray * arrayOfLabelsAndTextViews = [NSArray arrayWithObjects:lb1, text1, lb2, text2, lb3, text3, lb4, text4, lb5, text5, lx6, text6, lb7, text7, lb8, text8, nil];
借助此数组,您可以快速枚举访问它的所有标签/文本对:
i - 对索引
i * 2 - 标签索引
i * 2 +1 - 文本索引
然后,您需要准确显示在previos视图中检查的对数:
am=(AppDelegate*)[[UIApplication sharedApplication] delegate];
const int totalPairsCount = 8;
for(int i = 0; i<totalPairsCount; i++) {
UILabel * pairLabel = [arrayOfLabelsAndTextViews objectAtIndex:i*2];
UITextView * pairText = [arrayOfLabelsAndTextViews objectAtIndex:i*2 +1];
BOOL isPairVisible = i < am.count;
if (isPairVisible) {
pairLabel.text = [am objectAtIndex:i];
pairText.text = @"";
}
pairLabel.hidden = !isPairVisible;
pairText.hidden = !isPairVisible;
}
我认为这不是生产质量代码,但在列表中它必须帮助您了解如何操作数据并使用UI元素。
答案 2 :(得分:0)
单击“检查标记”将该特定字符串添加到全局数组。从那里你可以获得全局数组计数 在第二视图
查看加载方法 创建一个for循环
(int i =0 ; i < appDelegate.globalArray; i++)
{
Here you can create a label Dynamically whatever number will be. your labels will create according to that
}
如果您有任何问题,请随时提出