2010-12-28 8 views
1

私はグループ化されたスタイルUITableViewをナビゲーションスタックに持っています。セルをクリックすると、UIDatePickerがスタックにプッシュされます。問題は、このカスタムビューが私のテーブルビューと同じ背景色を持つようにすることです。UIColor groupTableViewBackgroundColorは透明です

私は次のように私のカスタムビューの背景色を設定してみました:

datePicker.backgroundColor = [UIColor groupTableViewBackgroundColor];

しかし、これは透明出てきます。背景の色を黒にする原因となるアルファベット1.0を持つ背景のCGColorオブジェクトを修正しようとしました。

は予想通り作業を行います。

datePicker.backgroundColor = [UIColor lightGrayColor];

をしかし、当然のことながら、この色は非常にグループ化されたテーブルの背景色と一致していません。

私はこれについてすべて間違っていますか?私はこのhereについて同様の投稿を見つけましたが、役に立たない回答はありませんでした。

答えて

1

「UIDatePickerをスタックにプッシュする」ということはどういう意味ですか? UIDatePickerをアニメーション化してみるのはなぜですか?

場合ビュー負荷、ピッカーを作成し、オフスクリーン枠を設定し、そのような

[picker setFrame:CGRectMake(0,960,320,216)]; 

として代わりピッカーを「押す」、次いで、同様にビューにそれをアニメーション:

[UIView beginAnimations:nil context:NULL]; 
    [picker setFrame:CGRectMake(0,200,320,216)]; 
    [UIView commitAnimations]; 

ピッカーを却下したい場合は、次のように非表示にしてください:

[UIView beginAnimations:nil context:NULL]; 
    [picker setFrame:CGRectMake(0,960,320,216)]; 
    [UIView commitAnimations]; 

ピッカーを却下するための「完了」ボタンが付いたツールバーを追加してください。

ピッカーの内容をテーブルに表示する場合は、そのアニメーションシーケンスでテーブルのフレームを設定できます。最初のものでは、テーブルを半分のサイズにします(私の例では150が完璧に機能します)。そして、隠しシーケンスで、テーブルを元のサイズ(この例では415)にします。また、ピッカーを非表示にするときは[tableView reloadData];に電話してテーブルを更新してください。

+0

ありがとうございます。私はそれについて完全に間違っていたと思います。これははるかに良いです。 – Eric

+0

このソリューションで唯一の問題は、サイズを変更するためにテーブルビューを取得できないことです。 'tableView'で' setFrame'を呼び出すことは効果がないようです。 – Eric

+0

UITableViewはUIViewに存在する必要があります。あなたのコントローラーがUITableViewControllerの場合、サイズを変更することはできません。 – WrightsCS