我正在使用Xcode 4.5和iOS 5.0开发应用程序。
在我的应用中,我通过 Storyboard 创建了一个名为 surveyTableView 的UITableView
。
我希望我的surveyTableView cell
被选中,我正在使用这段代码来实现它。
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath
{
static NSString *cellIdentifier = @"Cell Identifier";
UITableViewCell *cell = [self.surveyTableView dequeueReusableCellWithIdentifier:cellIdentifier];
if(!cell)
{
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
}
cell.selectionStyle = UITableViewCellSelectionStyleBlue;
cell.textLabel.text = [[self.surveyInfoArray objectAtIndex:indexPath.row] valueForKey:@"SurveyName"];
[cell setSelected:YES];
return cell ;
}
在这种情况下,我只有一个部分的行数为2。这是我在屏幕上得到的图像。
你们有没有想过为什么会这样?
编辑:我已将UITableView selection attribute
设置为Multiple Selection
,即使它是Single Line Selection
,我意识到没有区别。
编辑2 :在这里,我得到图像,我选择UITableViewCellStyleSubtitle
编辑3 :这是有趣的部分,当我现在选择时,这是图像。这让我发疯了
答案 0 :(得分:4)
请删除此[cell setSelected:YES];
答案 1 :(得分:1)
为此您应该在selectRowAtIndexPath:animated:scrollPosition:
中使用cellForRowAtIndexPath
代替UITableViewCell的所选属性。
通过使用此选项,您可以始终选择一个单元格,并且只有在选择另一个单元格时才会更改
答案 2 :(得分:0)
if(!cell)
{
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
cell.selectionStyle = UITableViewCellSelectionStyleBlue;
}
答案 3 :(得分:0)
我也有同样的问题,通过在故事板中正确设置属性来修复它。 附加tableview属性的屏幕截图。希望这可以帮助你
答案 4 :(得分:0)
我认为您无法从surveyTableView
获取数据NSString *cellValue= [[self.surveyInfoArray objectAtIndex:indexPath.row] valueForKey:@"SurveyName"];
NSLog(@"%@",cellValue);
检查它是否在控制台中打印某些值