画像のようにUITableViewのセクションだけ文字が左に寄っています。
(セルの方でpaddingのような処理はしていません。。)
何が原因でしょうか??
セクションタイトルのNews
をセルのtest...と同じ位置に修正したいです。
追記:カスタムセルは使っていません。。
import UIKit class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource, UINavigationControllerDelegate { @IBOutlet weak var tableView: UITableView! @IBOutlet weak var shadowView: UIView! @IBOutlet weak var tableHeight: NSLayoutConstraint! @IBOutlet weak var itemAddField: UITextField! let customUITextField:CustomTextField = CustomTextField() var title: String = "" var List = ["testtest", "testtest", "testtest", "testtest", ] let sectionTitles = ["News"] func numberOfSections(in tableView: UITableView) -> Int { return sectionTitles.count } func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { return 48 } func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? { return sectionTitles[section] } func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) { view.tintColor = .blue let header = view as! UITableViewHeaderFooterView header.textLabel?.textColor = .white } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return List.count } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell: UITableViewCell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) cell.textLabel?.text = List[indexPath.row] return cell } func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { self.title = List[indexPath.row] let nextVC = self.storyboard?.instantiateViewController(withIdentifier: "navigationPushView") as! SecondViewController nextVC.data = self.title self.navigationController?.pushViewController(nextVC, animated: true) // セルの選択を解除 tableView.deselectRow(at: indexPath, animated: true) } func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool { return true } //スワイプしたセルを削除 func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) { if editingStyle == UITableViewCell.EditingStyle.delete { List.remove(at: indexPath.row) tableView.deleteRows(at: [indexPath as IndexPath], with: UITableView.RowAnimation.automatic) } } override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. // for textField itemAddField.layer.masksToBounds = false itemAddField.layer.shadowRadius = 5.0 itemAddField.layer.shadowColor = UIColor.blue.cgColor itemAddField.layer.shadowOffset = CGSize(width: 0, height: 0) itemAddField.layer.shadowOpacity = 0.1 // for tableview self.tableView.layer.cornerRadius = 8 self.tableView.clipsToBounds = true // for shadow UIView shadowView.layer.cornerRadius = 8.0 shadowView.layer.shadowColor = UIColor.blue.cgColor shadowView.layer.shadowOffset = CGSize(width: 0.0, height: 0.0) shadowView.layer.shadowOpacity = 0.1 shadowView.layer.shadowRadius = 8.0 self.tableView.separatorInset.left = 0 // not scroll //self.tableView.isScrollEnabled = false self.tableView.dataSource = self self.tableView.delegate = self self.tableView.reloadData() view.layoutIfNeeded() view.updateConstraints() self.navigationController?.setNavigationBarHidden(true, animated: true) self.navigationController?.navigationBar.isHidden = true self.navigationController?.isNavigationBarHidden = true } override func viewWillDisappear(_ animated: Bool) { super.viewWillDisappear(animated) tableHeight.constant = CGFloat(tableView.contentSize.height) } }
回答1件
あなたの回答
tips
プレビュー