2011-10-27 3 views
1

私はstoryboardingとXcode4のMaster-Detail Core Dataテンプレートを使用しています。Master-Detail storyboardテンプレートのtableViewにはどのようにアクセスしますか?

マスタービューコントローラーのtableViewの背景画像を設定します。これを行うには

は、iPhoneのために簡単だった、私はちょうどMasterViewController.mののviewDidLoadでこれをやった:

self.tableView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"background.png"]]; 

しかし、これはiPadのために動作しません。代わりにデフォルトの背景がマスタtableViewに表示されます。

私はこれがsplitViewControllerの問題ではないと思います。 MasterViewControllerオブジェクトの観点から見ると、彼は常に同じtableViewを持っているべきですか?

self.tableView.separatorColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"separator.png"]]; 

この:このコードは、iPadやiPhone、「backgroundColorの」割り当ての上の行の両方で動作し、これは同じ「self.tableView」オブジェクトを使用しているため、実際に、私は、このような場合は知っていますiPad上で、同じコードを使用して、

http://i.imgur.com/G7djz.png

そして:(申し訳ありませんが、インラインまだ画像を投稿することができない)、それは、セパレータと背景画像の作業の両方で、iPhoneのように見えるものです

http://i.imgur.com/8L0ZK.png

マスターテーブルビューで背景画像を設定するにはどうすればよいですか?

答えて

1

Aha!入力用

UIImage *backgroundImage = [UIImage imageNamed:@"foo.png"]; 
UIView *backgroundView = [[UIView alloc] init]; 
[backgroundView setBackgroundColor:[UIColor colorWithPatternImage:backgroundImage]]; 
[self.tableView setBackgroundView:backgroundView]; 

キーを使用している[self.tableView setBackgroundView:...]の代わりに、これはトリックを行うようには見えなかったプロパティself.tableView.backgroundColor = ...

2

インタフェースビルダーで背景をクリアにする必要があります。次に、viewDidLoadself.tableView.backgroundColor = [UIColor clearColor];と言う必要があります。最後に、UIViewの背後に適切な背景色を置きます。何らかの理由で、バックグラウンドはUITableView自体でオーバーライドされます。

+0

、しかし感謝:私は秘密のソースを発見しました。 FYIでは、コードで設定している限り、IBで設定された色は無関係だと思いますが(間違いかもしれませんが) viewDidLoadでサブビューを追加しようとしましたが、(self.view sendSubviewToBack:backgroundImageView;でも)私が何をしても、imageViewはtableViewの上に現れました。私は解決策を見つけましたが、詳細を投稿しようとしています。 –

+0

優れています。あなたが問題を発見してうれしいです。残念ながら、IBのカラー設定はまだ重要です(ビューが遅延して膨張する方法と関係がある)。少なくとも、SDKのXcodeバージョン4.1は重要でした。 – James

関連する問題