0

Xcode 4.5 と iOS 5.0 を使用してアプリを開発しています。

私のアプリでは、 Storyboard で作成された呼び出さUITableViewsurveyTableViewがあります。私は自分のを選択したいのですが、このコードを使用してそれを実現しています。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 のセクションは 1 つだけです。これが私が画面に表示した画像です。スクリーンショット

なぜこれが起こっているのか分かりますか?

EDIT : に設定UITableView selection attributeしましたがMultiple Selection、 であっても、Single Line Selection違いがないことに気付きました。

編集2:ここで、私は選択したときに画像を取得しますUITableViewCellStyleSubtitleスクリーンショット2

EDIT 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 に答える