2017-06-24 4 views
-1

UITableViewを実装するとき、背景イメージを追加してテーブルビューを透明に設定しました。ただし、この画像に示すように、表の表示セルを別の色に変更しても(表の見栄えを良くするために)表の辺が透明になっています(Table View Cell)。iOS:セルの背景が変更されたときに異なる色を表示するUITableViewCellのサイド(Xcode 8、Swift 3)

私はテーブルビューの内側の一部を取得するために追加されたコード:

func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) { 
     cell.backgroundColor = UIColor(white: 1, alpha: 0.25) 
     cell.accessoryView?.backgroundColor = UIColor(white: 1, alpha: 0.25) 
     cell.contentView.backgroundColor = UIColor(white: 1, alpha: 0.25) 
     cell.tintColor = UIColor(white: 1, alpha: 0.25) 
} 

そしてviewWillAppearに:

self.tableView.backgroundColor = UIColor(white: 1, alpha: 0.25) 

私はなぜ側面がとして表示されませんわからないんだけど同じ色。アクセサリーボタンと関係があると思っていましたが、それを変更しようとすると何も変わりませんでした。

答えて

0

contentViewは、細胞全体をカバーしていません。その背景色をクリアカラーに設定してみてください。その後、セルの背景ビューだけが表示されます。

0

あなたのコードの多くは、まったく無駄です。それは問題とは関係がありません。主要行は、次のとおりです。

あなたが(セルの前に座っているコンテンツビューの背景色、)別の背景色でセルの半透明の背景色を重ねているように、行うには愚かなことだ
cell.backgroundColor = UIColor(white: 1, alpha: 0.25) 
cell.contentView.backgroundColor = UIColor(white: 1, alpha: 0.25) 

このような問題が発生した場合は、より簡単で明確なテストケースを作成して、自分で解決してください。たとえば:何が起こっているのか、それは完全に明らかになり

cell.backgroundColor = .red 
    cell.contentView.backgroundColor = .green 
    cell.accessoryType = .checkmark 

enter image description here

は:緑のコンテンツビューは、部分的に赤血球をあいまいにしています。あなたのコードはまったく同じようなことをします。

+0

私はこれを知っています。問題は色そのものではなく、セルのアルファである。アルファ係数は側面に適用されません。 –

+0

それはそうです。しかし、私が言ったように、いくつかの分野では、あるアルファを他のアルファベットと重ね合わせています。 – matt

関連する問題