1

私はすでにこれについて2日間検索していますが、答えが見つかりません...

カスタムの uitableviewcell があるので、セルが選択されたときにカスタムの色を実装する必要があります。

cell.selectedBackgroundView.backgroundColor = [UIColor greenColor];

私にはうまくいきません。または、それが機能する場合、背景色は明確であり、何が問題なのかわかりません。Interface builder でカスタム セルを正しく接続する方法がわからないようです。カスタムセルを作成できますが、唯一のことは、選択を機能させる方法がわからないことです。だから誰かが私を助けることができれば、私は本当に感謝しています. または、誰かがこれに関するチュートリアルを知っていますか?

前もって感謝します!

4

5 に答える 5

6

以下のコードが機能することを願っています。このコードをコピーして customCell 実装ファイルに貼り付ける必要があります。

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

UIView *backgroundView = [[UIView alloc] initWithFrame:self.selectedBackgroundView.frame];
[backgroundView setBackgroundColor:[UIColor colorWithRed:143/255.f green:141/255.f blue:147/255.f alpha:1.0]];
[self setSelectedBackgroundView:backgroundView];
[backgroundView release];
}
于 2012-07-11T08:51:08.937 に答える
4

カスタムセルは必要ありません。セルの選択した色のみを変更したい場合は、これを行うことができます:

UIView *bgColorView = [[UIView alloc] init];
[bgColorView setBackgroundColor:[UIColor redColor]];
[cell setSelectedBackgroundView:bgColorView];
[bgColorView release];
于 2012-07-11T08:12:40.417 に答える
3

@Pandey_Laxmanは正しいです。cell.seletedBackgroundViewUItableViewCell の backgroundView と selectedBackgroundView のいずれかがデフォルトで nil であるため、単に使用するだけでは機能しません。セルの selectedBackgroundView として設定する前に、UIView を初期化する必要があります。selectedBackgroundView()の定義を参照してください

于 2012-07-11T13:02:21.833 に答える
1

最後に、私は私の質問に対する答えを見つけました..

私は非常にばかげた間違いを犯しました..最初にファイル所有者クラスをNSObjectとしてIBのcustomcellに設定し、次にuitableviewcellクラスをカスタムセルとして設定する必要があります.私の場合は「myCustomDisplayCell」..

さらに下から上 (IB のビュー) に、uiview を追加してセル backgroundview に接続し、上部に uiview を配置してセル selectedbackgroundview (ビューの色をクリア) に接続し、最後に uilabel を配置しましたuiimageview、そしてこれらを正しく接続しました..(カスタムセルに必要な独自のものをここに追加できます)。以上です!今はちょっと簡単に見えます..

助けてくれてありがとう!

于 2012-07-11T18:36:55.550 に答える