33

昨夜、Xcode 5 にアップグレードし、現在のプロジェクトを検討することにしました。ストーリーボードを新しい UI に更新した後、すべてが見栄えがよく、正常に動作しました。私はユニバーサル バイナリを持っているので、iPad でもテストすることにしました。以前は透明/クリア カラーだった UITableview に新しい白い背景が導入されていることに気付きました。これは、テーブル レベルではなく、セル レベルで発生しているようです。6.1 シミュレーターで実行すると、iPad と iPhone で問題なく動作します。そして、iOS7 の iPhone ではすべて問題なく表示されます。

Interface Builder 用に設定したものはすべて、iPhone と iPad で同じです。私が言えることから、透明な値/設定を尊重しないこの新しい「コンテンツビュー」(アイテムセルのサブグループである)と関係があります。

考え/アイデアはありますか?

4

4 に答える 4

103

インターフェイスビルダーで何時間も無駄にした後、そこにバグがあるのではないかと考えています。それで、私はプログラム的な答えを探し始めました。どうやらここから始めていたら、かなりの時間を節約できたはずです。メソッドに追加することにより:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

次の 1 行を追加することで、iPad の透明性の問題を解決できました。

cell.backgroundColor = [UIColor clearColor];  // Adding this fixes the issue for iPad

これが、テーブル付きの iPad と iOS7 で見られる白い背景を持つ他のすべての人に役立つことを願っています!

于 2013-09-19T20:55:23.827 に答える
4

カスタム UITableViewCell を使用していて、それをストーリーボード/xib から呼び出す場合は、次のコードを使用できます。

@implementation YourCustomTableViewCell

- (void) awakeFromNib
{
    self.backgroundColor = [UIColor clearColor];
}
于 2014-10-10T07:51:20.430 に答える
0

静的セル テーブルを使用している場合。次のことができます。

override func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {

     cell.backgroundColor = UIColor.clearColor()
}
于 2015-05-10T13:47:22.597 に答える