カスタムUITableViewセルを作成しましたが、すべてが1つの例外を除いて動作しているようです。私はセル内にあるUISwitchを持っています(それは自分自身のUITableViewCellクラスに接続してtableViewを読み込みます)が、セルをクリックするか、セルの背景が透明/透明である場合にのみ表示されます。理想的には、私は背景の上にセルとスイッチのための白い背景があります。UITableViewCellバックグラウンドUI要素を隠す
cell.bringSubview(toFront: cell.switch)
と
cell.switch.isHidden = false
しかし、それは明らかに動作しませんでした:
は、私のようないくつかのハックのものを試してみました。
スイッチはデフォルトで有効になっています。 テーブルビューとスイッチはストーリーボードから作成されます。
階層は次のようになります - テーブルビュー>セル>コンテンツ表示>
スイッチここで詳細に参照するにはビデオだ - http://quick.as/rpyub8mv
カスタムTableViewCellクラス
class SettingsBoolCell: UITableViewCell {
@IBAction func switchAction(_ sender: UISwitch) {
}
@IBOutlet weak var switchOutlet: UISwitch!
}
ViewContr oller実装
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "settingsSectionOne", for: indexPath) as! SettingsBoolCell
switch indexPath.section {
case 0: cell.textLabel?.text = titles[0]
case 1: cell.textLabel?.text = titles[1]
case 2: cell.textLabel?.text = titles[2]
default:()
}
return cell
}
どのように 'UITableViewCell'を作成していますか?プログラムまたは.xibファイル。プログラム的に 'UITableViewCell'の' ContentView'に追加する必要がある場合。 'ContentView'は' UITableViewCell'のサブビューです。あなたのセルの内容を表示するのに使われます。 –
.xibファイル。その階層は次のようになります:テーブルビュー>セル>コンテンツビュー> UISwitch –
ここに私が話していることのビデオがあります - http://quick.as/rPyUb8mv –