0

我正在使用 Xcode 4.5 和 iOS 5.0 开发应用程序。

在我的应用程序中,我有一个通过StoryboardUITableView创建的称为surveyTableView。我希望我的 s 被选中,我正在使用这段代码来实现它。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 attributeMultiple Selection,即使是Single Line Selection,我意识到没有区别。

编辑2:在这里,我得到图像时,我选择UITableViewCellStyleSubtitle截图2

编辑3:这是有趣的部分,当我现在选择时,这是图像。这让我发疯截图3

4

5 回答 5

4

请删除这个 [cell setSelected:YES];

于 2013-03-19T10:02:53.717 回答
1

为此,您应该使用selectRowAtIndexPath:animated:scrollPosition:UITableViewCell 中的 selected 属性cellForRowAtIndexPath

通过使用这个,您可以始终选择一个单元格,并且只有在您选择另一个单元格时才会更改

于 2013-03-19T10:07:28.000 回答
0
if(!cell)
            {
                cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
cell.selectionStyle = UITableViewCellSelectionStyleBlue;
            }
于 2013-03-19T10:01:38.580 回答
0

我也有同样的问题,通过在情节提要中正确设置属性来修复它。附上表格视图属性的屏幕截图。希望这可以帮助你

在此处输入图像描述

于 2013-03-19T10:01:55.830 回答
0

我认为您无法从surveyTableView 获取数据

NSString *cellValue= [[self.surveyInfoArray objectAtIndex:indexPath.row] valueForKey:@"SurveyName"];
NSLog(@"%@",cellValue);

检查它是否在控制台中打印一些值

于 2013-03-19T11:25:56.750 回答