UITbaleViewにボックスシャドウをつけたいです。
色々な記事を見て真似してみたのですが上手くいきません・・・
ボックスシャドウをつける方法は
①ボックスシャドウ用のUIViewを用意して重ねるのでしょうか・・・?
②.layerで影をつけることは出来るのでしょうか・・・?
『UITableView swift shadow』などで検索したのですがUITableViewのshadowに関する記事が全然見当たりませんでした、、、
詳しい方よろしくお願いします
import UIKit import RealmSwift class ViewController: UIViewController, UITableViewDataSource { var todoItems: Results<Todo>! @IBOutlet weak var table: UITableView! override func viewDidLoad() { super.viewDidLoad() // 角丸 table.layer.cornerRadius = 20 // ボックスシャドウ table.layer.shadowOffset = CGSize(width: 0.0, height: 2.0) table.layer.shadowColor = UIColor.black.cgColor table.layer.shadowOpacity = 0.6 table.layer.shadowRadius = 4 table.dataSource = self let realm = try! Realm() todoItems = realm.objects(Todo.self) table.reloadData() } override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) table.reloadData() } // セルの数 func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return todoItems.count } // セルの中身 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { tableView.layer.shadowOffset = CGSize(width: 0.0, height: 2.0) tableView.layer.shadowColor = UIColor.black.cgColor tableView.layer.shadowOpacity = 0.6 tableView.layer.shadowRadius = 4 let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) let object = todoItems[indexPath.row] cell.textLabel?.text = object.title return cell } // セルの編集許可 func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) { if editingStyle == .delete { deleteTodo(at:indexPath.row) table.reloadData() } } // セルの削除実行 func deleteTodo(at index: Int) { let realm = try! Realm() try! realm.write { realm.delete(todoItems[index]) } } }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/24 09:45
2020/04/24 09:49
退会済みユーザー
2020/04/27 10:00
退会済みユーザー
2020/04/27 10:06
2020/04/27 10:10
退会済みユーザー
2020/04/27 10:14
2020/04/27 10:32