.-- --

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
スポンサー広告 comment(-) trackback(-)
.06 2011

UITableViewがUITableViewStyleGrouped時の背景の色を変更したい

どうも、アメダス
いえいえ、UTOです。

早いところでは梅雨明け宣言がでましたが、
まだまだ私の周りでは梅雨っております。

昨日晴れたと思えば朝起きたら大雨
窓を閉めていないと窓際が大惨事なことに…気をつけましょう

そんなジメジメした空気に悩んだことをメモっておきます。

UITableViewをUITableViewStyleGroupedにしたときのお話
デフォルト設定

さくっとテーブルをつくって配置してみたの図が↑です。
テーブルをaddSubviewしている親viewにはイメージビューを使って背景画像を設定しているとしたとき、
テーブルのセルの周りの背景色がミスマッチだな~っというシチュエーションとします。

うーん、セルだけ表示すると画像がしっかりみえるなっということで
セル以外の部分をなんとか消してみたいと思います。

UITableViewはUIViewの継承クラスなので、背景色を定義するプロパティ「backgroundColor」があります。
まずはそれを変更してみましょう

※UITableView* tableViewと定義しているとしますよ

[tableView setBackgroundColor: [UIColor clearColor]];

背景色を透明にしたぞ
さぁこれで消えただろ…

消えてない
うぬぬ、そんな簡単な話ではないのかー
というわけでリファレンスを調べてみると
UITableViewのプロパティとして「backgroundView」なんてものがありました。

背景のビューを司っているんでしょう…
UIViewで取得できるようなので、作成後に取得してみるとインスタンス化されています。

ちなみにUITableViewTypePlainの場合だとこのbackgroundViewはNULLでした。

このbackgroundViewをさらに調べてみると
UIImageViewとしてimageプロパティに画像情報が入っていました。
ん~やはりこのビューが存在しているのでbackgroundColorを透明にしても変化がなかったのですね

というわけで手っ取り早くこのビューをクリアしてしまいましょう

tableView.backgroundView = nil;
[tableView setBackgroundColor: [UIColor clearColor]];

上記のコードを実行すると
透明色に変更

おお、見事に背景が透明化しました。

ちなみにこのコードを調べた環境はiPhone向けアプリではなく
iPad専用アプリ作成時に調べています…

ネットで検索すると
だいたいbackgroundColorの変更しか触れていない内容が多かったので
挙動が異なるのかもしれません

ま、ひとつの解決策の参考にでも
関連記事
スポンサーサイト

Comment

Post comment

  • comment
  • secret
  • 管理者にだけ表示を許可する

Trackback

trackbackURL:http://appteam.blog114.fc2.com/tb.php/197-eb199bc3

ブログ内検索

関連リンク

製品情報

最新記事

カテゴリ

プロフィール

neoxneo



NEXT-SYSTEM iOS Developers Blog


  • UTO:
    カナダ版iPhone4Sは、マナーモードでシャッター音がならない…


  • Ehara:
    ...


  • Hayate:
    ...


  • Tasaki:
    Developer登録完了...したのはいいけど


  • Ueda:
    ...



リンク

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。