2012-02-22 9 views
4

何らかの理由で、私のUITableViewCellのどれもが青く強調表示されていません。 IBでは、青で強調表示するように設定しましたが、IBをオーバーライドするコードはありません。UITableViewCellがハイライトしない

あなたはこれを引き起こしている可能性のあることに気づいていますか?

enter image description here

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    int showID = [[[singleton.programs objectAtIndex:indexPath.row]objectForKey:@"id"]intValue]; 
    //creates the url and loads the list of products 
    //NSLog(@"showID: %d", showID); 
    URLCreator * productsURL = [[URLCreator alloc] initStandard:@"getProgramProductsForList"]; 
    [productsURL addParam:@"id" stringValue:[NSString stringWithFormat:@"%d", showID]]; 
    WebManager *productsWM = [[WebManager alloc]init]; 
    [productsWM load:[productsURL finalURL] withSelector:@selector(parseProducts) object:[NSNumber numberWithInt:showID]]; 
} 

マイカスタムセルは、 `@プロパティ/ @ののsynthesizeの@のほかに、現時点では、その中には何もありませんが、ここにあります。

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier 
{ 
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; 
    if (self) { 
     // Initialization code 
    } 
    return self; 
} 

- (void)setSelected:(BOOL)selected animated:(BOOL)animated 
{ 
    [super setSelected:selected animated:animated]; 

    // Configure the view for the selected state 
} 
+2

カスタムセルとテーブルdelegate cellForRow ...関数に関連するコードを投稿してください。たぶん、カスタムセルであなたは[スーパーするsetSelected:]呼び出していないか何か、 – JiaYow

+0

確かに、一瞬を知りません。 – Baub

+0

上記のコードを更新しました。 – Baub

答えて

4

あなたの場合は、それを解決するための最良の方法は、おそらく適切に(青選択してデフォルトテーブルビューセル)の作品最小限の例を作っていることを十分に単純であり、それに追加するステップ(またはバイナリでバイステップ検索ステップ)を実行します。

追加した後に最小限のコードが破損した場合は、問題を特定します。そうでない場合、プロジェクトで使用しているのと同じことが実際に発生した場合は、比較して、気づいていない違いがどこにあるかを確認します。

+0

私は以来、IBからViewControllerへのリンクを削除しましたが、私はまだ問題を抱えています。私はまた、すべてのサブビューを削除し、同じプロジェクトで新しいTableViewController(テストのためだけに)を開始し、私は同じ問題があります。それは非常に奇妙です。 – Baub

1

これは私が過去にした間違いです。あなたのUITableViewは編集モードですか?その場合は、編集中の選択が有効になっていますか?

デフォルトでは有効になっていません。 Interface BuilderでUITableViewを選択し、Utilitiesペインの 'Table View'の下の 'Editing'プロパティを見つけます。 「編集中の単一選択」が選択されていることを確認します。

また、[単一選択]が一般に有効になっていることを確認してください。

+0

編集モードではありません。とにかく(ちょうどその場合)、私は「編集中のシングルセレクション」を有効にしましたが、ダイスはまだありませんでした。 :/ – Baub

+0

'のtableViewはない:didSelectRowAtIndexPath:あなたが行を選択すると、期待どおり'呼び出されますか? – Aaron

+0

はい。すべてが期待どおりに動作します(このハイライトの強調表示はありません!lol) – Baub

4

これを試しましたか?

[cell setSelectionStyle:UITableViewCellSelectionStyleBlue]; 
+0

はい、残念ながらまだ動作しません。 – Baub

+0

これは私の問題を解決しました、ありがとう! – rweavere

0

セルのサブビューはセル境界全体を占めていましたか?完全に不透明ですか?そうであれば、すでに青で強調表示されていても、目に見える効果はありません。

+0

いいえ、すべてのサブビューを削除しました。私は、単にテストするためにホーム画面から直接セグをボタンで新しいTableViewControllerを開始しました。まだ行きません。それは奇妙だ。私が選択することができる唯一の時間は全く新しいプロジェクトです。 – Baub

1

ちょっとした答えかもしれませんが、単純なことをカバーするには、カスタムのUITableViewCellサブクラスにテーブルビューセルを割り当てていることを確認しましたか?

Custom Class assignment

+0

はい。デフォルトの強調表示が存在するかどうかをテストするためだけに削除したとしても、そうではありませんでした。私は、単にテストするためにホーム画面から直接セグをボタンで新しいTableViewControllerを開始しました。まだ行きません。それは奇妙だ。私が選択することができる唯一の時間は全く新しいプロジェクトです。 – Baub

+0

奇妙な。まだ実行していない場合は、クリーンで再構築してください。アニメーション:: 'のUITableViewCellクラスのメソッドは、スティックそのデリゲートメソッドで'のtableView:didSelectRowAtIndexPath: 'また、ハイライトを取得する別の方法は、' setHighlightedを呼び出すことです。 – Gobot

+0

既に、残念ながら持っています。 :/ – Baub

0

いいえ、私はすべてのサブビューを削除しました。私は、単にテストするためにホーム画面から直接セグをボタンで新しいTableViewControllerを開始しました。まだ行きません。それは奇妙だ。私が選択することができる唯一の時間は全く新しいプロジェクトです。 - James James昨日

あなたはこのプロジェクトでのみ発生し、新しいプロジェクトを開始するときはXcode(製品>クリーン)でプロジェクトをクリーニングして、シミュレータからアプリケーションを削除しようとしていませんか?再実行。奇妙な問題をたくさん解決します。

0

あなたは新しいプロジェクトでは起こらないと言いましたが、あなたのプロジェクトに新しいストーリーボードを作成して影響があるかどうか試してみましたか?

.storyboardファイルは単なるXMLファイルであり、おそらくxmlファイルに何か悪いことがあります。試しても害はありません。

関連する問題