2017-03-01 18 views
0

私はUITableViewCellの内部に画像を持っていますが、画像が灰色であるか色付きであるべきかを設定するのに "isHighlighted"フィールドを使用していました。私がセルを選択すると、UITableViewCellはすべてのサブビューでtrueに設定します。この動作を無効にする方法はありますか?サブビューを無効にするisHighlighted from UITableViewCell

答えて

0

あなたが選択されていないときにセルを提示する方法のようなカスタムロジックを行うために、isHighlightedをオーバーロードしているようなサウンド。

もしそうなら、UITableViewCellをサブクラス化し、カスタムプロパティを 'isHighlighted'を使用せずにサブクラスに追加し、テーブルの派生クラスを使用する方がよいでしょう。

0

self.selectionStyle = UITableViewCellSelectionStyleNone;でサブクラスを作成し、次にsetHighlighted:animated::を上書きします。

- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated{ 
    [super setHighlighted:highlighted animated:animated]; 
    // Set your imageView background color here 
} 

UIImageViewことがUIControlから継承されていないので、それは何のhighlighted性質を持っていません。しかし、UITableViewCellは、そのサブビューの背景色が強調表示されたときに透明に設定しようとします。 setHighlighted...を介してimageViewに組み込まれた背景色の振る舞いを制御することができない場合があります。その場合は、完全に制御する独自のUIImageViewを追加する必要があります。

関連する問題