開発のヒホ

iOSとかAndroidとかのアプリを開発するのに四苦八苦するブログ

iOS7でテーブルビューのセルが描画されない

iOS7・・・ iOS7・・・ ウーン・・・

iOS7のUITableViewCellのサブクラス、つまりカスタムセルがなぜか描画されませんでした
一応解決して、原因もなんとなくわかったのでメモ。

↓なぜか描画されない。

f:id:hihokaruta:20130917203731p:plain

描画してた仕組みはこんな感じで、- (void)drawRect:(CGRect)rectに書いていました。

- (void)drawRect:(CGRect)rect {    
    [super drawRect:rect] ;
    // draw draw ...
}

リファレンスを見るとこんなのが。

Whether you use a predefined or custom cell, you can change the cell’s background using the backgroundView property or by changing the inherited backgroundColor property. In iOS 7, cells have a white background by default; in earlier versions of iOS, cells inherit the background color of the enclosing table view.
UITableViewCell Class Reference

(´・ω・`) ?
イマイチ関係ない気がする。

兎にも角にも、背景色を透過させると表示されました

    // in UITableViewCell's subclass
    self.backgroundColor = [UIColor clearColor] ;

なるほど、drawRectの後にbackgroundColorで重ね塗りしてるのか?
全くもって余計なお世話である。

もしbackgroundColorを変えれない時は、backgroundView辺りをいじればいいんじゃないかな。

    // in UITableViewCell's subclass
    self.backgroundView = [MyView new] ;

↓とりあえず描画された

f:id:hihokaruta:20130917203745p:plain

iOS7・・・ iOS7・・・ ウーン・・・