8

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

この方法では

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;

ただし、そのセルを選択した場合にのみ表示されます。それ以外の場合は表示されません。背景が白の場合は完全に機能します。プロパティを設定する必要があることは確かですが、これを機能させるためにどのプロパティを変更する必要があるのか​​わかりません。

前もって感謝します。

乾杯。

4

4 に答える 4

9

私はこれと同じ問題に遭遇し、UIViewのimageWithName @ "AccDisclosure.png"から、自由にコピーできる次の急いでモックアップされたグラフィックを使用してUIImageViewを作成しました。http://thinkingman.com/db/downloads /AccDisclosure.png(そのリンクをクリックするだけでは、背景が透明な白い画像であるため、おそらく何も表示されませんが、保存して暗い背景で表示すると、アルファが表示されます)。

于 2009-08-08T21:28:53.517 に答える
7

開示インジケーターは灰色の高アルファ画像であるように見えるため、黒い背景の上に重ねると見えなくなります。これを行う場合は、セルのcontentViewに独自のUIImageViewを追加する必要があります。

于 2008-10-30T02:48:18.843 に答える
1

次のコードを使用すると、テーブル行の矢印の先端の背景色を設定できます。

@property (nonatomic,retain) UILabel *backgroundLabel;

UILabel *label = [[UILabel alloc] initWithFrame:CGRectZero];
label.backgroundColor = [UIColor orangeColor]; 
self.backgroundLabel = label;
[self.contentView addSubview:label];
[label release];

CGRect labelRect = CGRectOffset(contentRect,0, 0);
labelRect.size.height = contentRect.size.height - 1; // show white line
labelRect.size.width = contentRect.size.width + 50; // cover arrow tip background
backgroundLabel.frame = labelRect;    
backgroundLabel.highlightedTextColor = [UIColor whiteColor];
于 2010-04-08T08:17:11.390 に答える
0

通常の方法でaddSubViewを使用してImageViewを追加し、アクセサリが表示される位置に黒ではない画像(私の場合は灰色の塗りつぶされた円)を追加するソリューションを作成しました。

これにより、矢印が表示され、テーブル セルの背景色が暗い/黒のままになります。

おそらく最もコーシャな解決策ではないかもしれませんが、矢印が見えるようになり、多くのコードをサブクラス化したり記述したりしなくても、アクセサリのクリックが通知されます。

于 2010-05-24T15:41:38.067 に答える