Cocoa touch 参考方法中的一节
我正在做一些调查,比如在项目中显示问题和答案。我用标签和按钮在Cocoa touch 参考方法中的一节,cocoa-touch,uitableview,Cocoa Touch,Uitableview,我正在做一些调查,比如在项目中显示问题和答案。我用标签和按钮在tableView中显示它们。但现在我不知道如何处理每个选择的答案 -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { NSMutableArray *sectionItems=[self.finalarray objectAtIndex:indexPath.section];
tableView
中显示它们。但现在我不知道如何处理每个选择的答案
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSMutableArray *sectionItems=[self.finalarray objectAtIndex:indexPath.section];
int n=[sectionItems count];
NSString *question = [NSString stringWithFormat:@"%@",[[sectionItems objectAtIndex:indexPath.row] objectForKey:@"Question"]];
CGSize constraint1 = CGSizeMake(320, 2000.0f);
CGSize size1 = [question sizeWithFont: [UIFont fontWithName:@"Helvetica-Bold" size:14] constrainedToSize:constraint1 lineBreakMode:NSLineBreakByWordWrapping];
lblQuestion = (UILabel *)[hlcell viewWithTag:1];
lblQuestion.text = [NSString stringWithFormat:@"%@",question];
lblQuestion. numberOfLines=0;
lblQuestion.frame = CGRectMake(10,15, size1.width, size1.height);
UIButton *btTemp1 = [[UIButton alloc]initWithFrame:CGRectMake(10, lblQuestion.frame.origin.y+lblQuestion.frame.size.height,10, 15)];
[btTemp1 addTarget:self action:@selector(radioButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
btTemp1.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
[btTemp1 setImage:[UIImage imageNamed:@"radio_button_off.png"] forState:UIControlStateNormal];
[btTemp1 setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
btTemp1.titleLabel.font =[UIFont systemFontOfSize:14.f];
[hlcell.contentView addSubview:btTemp1];
NSLog(@"%@",[[sectionItems objectAtIndex:1] objectForKey:@"Description"]);
NSString *option1 = [NSString stringWithFormat:@"%@",[[sectionItems objectAtIndex:1] objectForKey:@"Description"]];
CGSize constraint2 = CGSizeMake(320, 2000.0f);
CGSize size2 = [option1 sizeWithFont: [UIFont fontWithName:@"Helvetica-Bold" size:14] constrainedToSize:constraint2 lineBreakMode:NSLineBreakByWordWrapping];
lblOption1 = (UILabel *)[hlcell viewWithTag:1];
lblOption1.text = [NSString stringWithFormat:@"%@",option1];
[lblOption1 setNumberOfLines:0];
lblOption1.frame = CGRectMake(30,lblQuestion.frame.origin.y+lblQuestion.frame.size.height, size2.width, size2.height);
[hlcell.contentView addSubview:lblanswers];
UIButton *btTemp2 = [[UIButton alloc]initWithFrame:CGRectMake(10, lblOption1.frame.origin.y+lblOption1.frame.size.height,10, 15)];
[btTemp2 addTarget:self action:@selector(radioButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
btTemp2.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
[btTemp2 setImage:[UIImage imageNamed:@"radio_button_off.png"] forState:UIControlStateNormal];
[btTemp2 setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
btTemp2.titleLabel.font =[UIFont systemFontOfSize:14.f];
[hlcell.contentView addSubview:btTemp2];
NSString *option2 = [NSString stringWithFormat:@"%@",[[sectionItems objectAtIndex:2] objectForKey:@"Description"]];
CGSize constraint3 = CGSizeMake(320, 2000.0f);
CGSize size3 = [option2 sizeWithFont: [UIFont fontWithName:@"Helvetica-Bold" size:14] constrainedToSize:constraint3 lineBreakMode:NSLineBreakByWordWrapping];
lblOption2 = (UILabel *)[hlcell viewWithTag:2];
lblOption2.text = [NSString stringWithFormat:@"%@",option2];
[lblOption2 setNumberOfLines:0];
lblOption2.frame = CGRectMake(30,lblOption1.frame.origin.y+lblOption1.frame.size.height, size3.width, size3.height);
[hlcell.contentView addSubview:lblOption2];
return hlcell;
}
我有10个问题,如何在每个部分中选择答案并存储。
我无法提及此事。单击
radio按钮中的部分
方法。如果我在一个部分中选择一个单选按钮
,它将被启用,而其他部分将被禁用。但是如果我在其他部分中选中单选按钮
,则先前选中的所有单选按钮也将被禁用。如何单独处理节的radiobutton选择。将单击的indexPath存储在字典中,并根据所选值管理单元格显示。根据存储的值,在cellforrowatinexpath
中创建时将其设置为选中。比如:
if([[selectedRows valueForKey:stringRepresentationOfIndexPath] boolValue] == YES)
[btTemp1 setSelected:YES];
编辑:selectedRows
是包含所选行数据的字典,请在DidSelectedRowAtIndexPath
中更新它,或单击on,但单击(如果您是这样做的)。很抱歉,我没有找到您。我应该在哪里写这个?selectedRows是什么?请检查编辑,如我所述,将其写入cellforrowatinexpath