iPhoneのSDK:のUITableViewControllerに画像サブビューを追加し、まだセルを参照するにはどのように?
-
20-09-2019 - |
質問
私はグループ化されたテーブルでのUITableViewControllerに画像サブビューを追加しています。私は画像のサブビューを追加すると、私は、画像の上にテーブルのヘッダを見ることができますが、セルが画像の後ろに描かれています。
私はテーブルのセルは、背景画像の上に表示されることを保証するために行う必要がある何か他のものはありますか?ここで私はUITableViewControlleののviewDidLoadで使用しているコードは、次のとおりです。
CGRect myImageRect = CGRectMake(0.0f, 0.0f, 320.0f, 959.0f);
UIImageView *backImageView = [[UIImageView alloc] initWithFrame:myImageRect];
[backImageView setImage:[UIImage imageNamed:@"somebackground.png"]];
[self.view addSubview:backImageView];
[self.view sendSubviewToBack:backImageView];
[backImageView release];
私は、代替として、私は単純に複合ビューを作成することができますし、むしろ私はここで行うにしようとしています何よりも、その上にテーブルビューをドロップすることを実現します。他の解決策がない場合、私はそうするだろうが、私はすべての可能であればしようとしているアプローチを使用することを好むだろう。
解決 2
のUITableViewは、多くの場合、爽やかな景色のZORDERを再配置することが表示されます。だから、あなたは手動で、このような行の更新/挿入/削除などの任意のテーブルのイベントにZORDERをリセット管理する必要があります。
他のヒント
これは、グループ化されたテーブルビューです。アップルのドキュメントから:
The grouped style of table view provides a default background color and a default background view for all cells.
これはあなたのテーブルの後ろに挿入されているデフォルトのイメージ図があることを意味します。あなたがそうのように、独自のビューでそれを置き換える:
CGRect myImageRect = CGRectMake(0.0f, 0.0f, 320.0f, 959.0f);
UIImageView *backImageView = [[UIImageView alloc] initWithFrame:myImageRect];
[backImageView setImage:[UIImage imageNamed:@"somebackground.png"]];
self.tableView.backgroundView = backImageView;
これは、あなた自身の持つ他のbackgroundViewを置き換えます。テーブルビューが再度レイアウトされたときにそれ以外の場合は、他の背景画像があなたをオーバーレイします。
所属していません StackOverflow