標準のグレーの線ではなく、グループ化されたUITableViewの背景としてカスタムイメージを使用するiPhoneアプリケーションがいくつか見られました。グループ化されたテーブルビューの背景イメージを設定するにはどうすればよいですか?
これはどのように達成されましたか?
標準のグレーの線ではなく、グループ化されたUITableViewの背景としてカスタムイメージを使用するiPhoneアプリケーションがいくつか見られました。グループ化されたテーブルビューの背景イメージを設定するにはどうすればよいですか?
これはどのように達成されましたか?
別のプロジェクト(2.2.1を使用して開発)では、UITableView'
のバックグラウンドの不透明度を0%に設定し、Interface Builderを使用してUIImageView
をレイヤーするだけです。これにより、テーブルの状態に関係なく固定の背景を持つことができました。代わりにUITableView
の背景をイメージに設定することもできますが、背景はテーブルとともにスクロールします。 (私は現時点では便利なコードを持っていないが、Appleの開発者フォーラムではちょっとしたヒントを得ている)。
これはパフォーマンス上の問題を引き起こす可能性があることに注意してください。 3GS以前のモデルのGPUは特に重労働ではないため、Appleは可能な限り透明性を使用することを控えています。
あなたがそうのよう+[UIColor colorWithPatternImage:(UIImage)]
メソッドを使用することができます。
self.tableView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Background.png"]];
colorWithPatternImageでの問題:あなたは、「パターン化」の画像を使用する必要がありそうでない場合は、あなたのイメージは、このリンクを持っている
ランダムにタイル張りされるということですあなたがしたい場合は、簡単な解決策は、すべてのご意見は、同じ背景
希望すると、これが役立ちます。特にグループ化されたUITableViewの場合、セルの背後には恐ろしい半透明の背景は表示されません。
(私はそれを考え出したら、かなりシンプルな;)ここでは私のために働いたものだ
1)アプリのデリゲートにビューを追加し、ウィンドウのサブビューます
UIView *bgView = [[UIView alloc]initWithFrame:window.frame];
bgView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"screenBG.png"]];
[window addSubview:bgView];
[bgView release];
2 )各ビューコントローラ.mファイルで、のviewDidLoadの下で、(透明にその特定のビューの設定背景色がので、上記作成された他のbgView)を介して表示されます:
self.view.backgroundColor = [UIColor clearColor];
そして、私の場合には、Vをステップ2のコントローラを表示するのはテーブルビューコントローラでした。素晴らしく見える。
そしてところで、各ビューコントローラで次の操作を実行すると、うまく動作しませんでした:
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"screenBG.png"]];
だから、上記の手順1と2に従ってください。あなたはそれを持っているバックアップの種類がわからない、それはかなり悪い違反だ - これはアウトに役立ちます
希望、 Tbone
私はこのトリックが好きです。 – winnicki
アプリケーションデリゲートで、もっと簡単に行うこともできます:self.window。backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@ "bg.png"]]; –
私はここのGil Margolinに同意します...ウィンドウのbackgroundColorをイメージとして設定する方が簡単でした。 1つの注意点では、手動でretina/iphone5の正しい画像をロードする必要があり、これは少し複雑です。 –
この
- (void) viewDidLoad {
[super viewDidLoad];
self.tableView.backgroundColor = [UIColor clearColor];
self.view.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed:@"wallpaper.png"]];
self.tableView.opaque = NO;
}
背景色を設定する代わりに、テーブルビューの背後に画像ビューを追加することもできます。これにより、パターン画像の使用を避けることができます。 – TigerCoding
アクセスparentViewController.viewはひどいアイデアです試してみてくださいカプセル化の。今でも動作していても、次回のiOSアップデートでコードが完全に破損する可能性があります。これをしないでください。 –