UITableViewCellSelection样式无法正常工作

时间:2013-03-19 09:48:05

标签: iphone ios uitableview

我正在使用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。这是我在屏幕上得到的图像。 Screenshot

你们有没有想过为什么会这样?

编辑:我已将UITableView selection attribute设置为Multiple Selection,即使它是Single Line Selection,我意识到没有区别。

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

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

5 个答案:

答案 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属性的屏幕截图。希望这可以帮助你

enter image description here

答案 4 :(得分:0)

我认为您无法从surveyTableView

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

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