web-dev-qa-db-ja.com

iOS Swift-テーブルビューの背景色を変更するには?

私は単純なテーブルビューを持っていますが、セルの色を変更できますが、テーブルビュー(背景部分)の色を変更しようとするとうまくいきません...ストーリーボードで試しました...誰か助けてください

30
Vikas Seth

まず、次のようにviewDidLoadでtableViewの背景色を設定します。

override func viewDidLoad() {
    super.viewDidLoad()   
    self.tableView.backgroundColor = UIColor.lightGrayColor()
}

次に、このメソッドを追加します。

override func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
    cell.backgroundColor = UIColor.clearColor()
}

Swiftでは、上記のメソッドの代わりに以下のメソッドを使用します。

override func viewDidLoad() {
    super.viewDidLoad()
    self.tableView.backgroundColor = UIColor.lightGray
}

override func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
    cell.backgroundColor = UIColor.clear
}
53
Homam
func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
    cell.contentView.backgroundColor = UIColor.yellowColor()
}

スイフト3

func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
    cell.contentView.backgroundColor = UIColor.yellow
}
15
Lucas Farah

ストーリーボードでそれを実現したい場合は、tableViewの「テーブルビューセル」の「コンテンツビュー」を選択し、属性インスペクターで「ビュー」に移動し、次のように色を変更します。

Xcode

7
user6082493

tableViewの色を変更するにはこのコードを使用します

override func viewDidLoad() {
        super.viewDidLoad()

       // define tableview background color
        self.tableView.backgroundColor = UIColor.clearColor()
}

変更tableViewセルの色

cell.backgroundColor = UIColor.clearColor()
4
IOS Singh

あなたが持っている:

  1. セルの背景AND
  2. セルContentView

ContentViewをデフォルト(透過)のようにSBに配置し、CellのawakeFromNibのメソッドに次のように配置します。

self.backgroundColor = UIColor.SomeColor
0
William

私はゲームに少し遅れています!しかし、上記の答えはどれも私にとってはうまくいきませんでしたので、他の誰かがこのスレッドに飛びついた場合に備えて、私が見つけたものを共有しましょう。

注:独自のカスタムセルクラスもあります。それがコードに影響するかどうかはわかりません!

@IBDesignable class YourViewController: UITableViewController {

//IBInspectable and IBDesignable makes the properties accessible in storyboard
@IBInspectable var tableViewBackground: UIColor?
@IBInspectable var cellViewBackground: UIColor?

//in case you want to customize the text color, as well!
@IBInspectable var customTextColor: UIColor?


override func viewDidLoad() {
//your code
self.tableView.backgroundColor = tableViewBackground
}

override func tableView(_ tableView: UITableView, cellForRowAt indexPath:    IndexPath) -> UITableViewCell {

    let cell = UITableViewCell()
    cell.textLabel?.textColor = customTextColor
    cell.backgroundColor = cellViewBackground
    return cell
}
//the rest of your code
}

検査可能なものを見つける:

1)。 tableViewのviewControllerのStoryboardメニューで、yourViewControllerをクリックします。 viewController内の最初のドロップダウン。 (最初のドロップダウンには、tableViewとcellViewが含まれます。特定のプロジェクトに応じて、他のグッズを含めることもできます)。

2)。属性インスペクターには、viewControllerの名前と上で定義した@IBInspectableプロパティの見出しが表示されます!!

3)。その後、必要に応じて変更できます。

お役に立てれば!

0
Brigitte Alese