2016-04-08 7 views
1

私は多くを検索しましたが、削除ボタンの変更方法しか見つけられません。私が変えなければならないのは、小さな丸いボタンの色です。それは可能ですか?赤いボタンはボタンではないことを編集表の赤いボタンの色を変更してください

enter image description here

+0

サブビューをループし、そのボタンクラスが何であるかを確認しよう! –

答えて

0

。それはイメージです。

UITableViewCellでサブビューを検索する必要があり、サブビューがUITableViewCellEditControlである場合は、ビューをイメージビューとしてキャストし、そのイメージを変更します。

赤いイメージに似たカスタムカラーイメージが必要です。

for (UIView *subv in cell.subviews){ 
    if ([NSStringFromClass([subv class]) isEqualToString:@"UITableViewCellEditControl"]) { 

       for (UIView *imgV in subv.subviews){ { 

        if(imgV isKindOfClass:[UIImageView class]]){ 
        UIImageView *imgView = (UIImageView *)imgV; 
        imgView.image=[UIImage imageNamed:@"blue.png"]; 
        imgV.backgroundColor=[UIColor blueColor]; 
        NSLog(@"subview-subview name is %@",NSStringFromClass([imgV class])); 
       } 

       } 

      } 
} 

enter image description here

プライベートサブビューを変更することをお勧めではないことに注意してください。この方法は次回のiOSアップデートでは動作しないかもしれません - クレジットは@rmaddyになります。

もう1つの回避策は、独自のカスタムセルを設計することです。

+0

これは危険で壊れやすいコードです。このコードは、 'UITableViewCellEditControl'のすべてのサブビューが' UIImageView'であることを前提としています。それはおそらくクラッシュを引き起こす恐ろしい仮説です。 – rmaddy

+0

答えをありがとう。 yoirコードを読む私はそれをcellForRowAtIndexPathメソッドに入れる必要があると思いますか? – Quetool

+0

@rmaddyあなたのアイデアは何ですか? – Quetool

関連する問題