頭と尻尾はくれてやる!

パソコンおやじのiPhoneアプリ・サイト作成・運営日記


iOS 6だとgroupTableViewBackgroundColorが透けてる

iOS 6では [UIColor groupTableViewBackgroundColor] が普通のビューの背景に使えなくなってるってお話だよ。

テーブルのタイプをUITableViewStyleGroupedにするとセルの角が丸くなって背景が薄い青の縦のスプライトになるじゃない。

UITableViewの例

↑こういうの。
別にiOS 6でこれがなくなったわけじゃないんだ。
この縦のスプライトの"色"がUIColorで設定できてたよね。
self.backgroundColor = [UIColor groupTableViewBackgroundColor];
こんな感じでさ。
UIViewオブジェクトの背景(backgroundColor)に使えていたんだよ、iOS 6以前は。

ところが、iOS 6以降はこれが使えなくなってるんだよ。別に落ちる訳じゃなくて、何も表示されないんだよ。
だからこの"色"で隠していたモノが見えちゃっててさ、あちゃーって感じだよ。
どうしようかな、と思っていたらこんな記事があったんだ。

view - is groupTableViewBackgroundColor deprecated on iOS 6? - Stack Overflow

ここにあるようにUIViewじゃなくてUITableViewオブジェクトにすりゃいいじゃん、ってのは一つの方法なんだけど、、、

ただ、このgroupTableViewBackgroundColorは微妙にグラデーションがかかっているのか、テーブルの一部分を隠そうとカバー用のUITableViewオブジェクトを作ってカバーするなんて使い方だと、不連続の線が出ちゃって使えないんだ。
わかりやすいように、UITableViewを上下に二つ表示させてみると、

UITableViewを二つ並べる

↑こんな風になるんだよ。コードはこんなの:
-(void)loadView
{
    [super loadView];
    
    [self makeTableViewAt:0];
    [self makeTableViewAt:self.view.frame.size.height/2];
}

-(void)makeTableViewAt:(float)yy
{
    UITableView *tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, yy, 320, self.view.frame.size.height/2) style:UITableViewStyleGrouped];
    [self.view addSubview:tableView];
    [tableView release];
}
これまたあちゃーって感じだね。ホントどうすんの、俺!?

<< 実は冬の方が電気を使っていた  TopPage  乗換アプリを乗り換えた >>

コメント


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

トラックバック

トラックバックURL
http://ringsbell.blog117.fc2.com/tb.php/663-87ea2082




Copyright ©頭と尻尾はくれてやる!. Powered by FC2 Blog. Template by eriraha.

FC2Ad