From 48ab0cd7334b52ef5c58358c7efded8bad8a1540 Mon Sep 17 00:00:00 2001 From: Maurice Parker Date: Wed, 17 Apr 2019 14:29:52 -0500 Subject: [PATCH] Fixed disclosure icon so that it only works on node that can have child nodes. --- iOS/Master/Cell/MasterTableViewCell.swift | 12 ++++++++---- iOS/Master/MasterViewController.swift | 1 + 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/iOS/Master/Cell/MasterTableViewCell.swift b/iOS/Master/Cell/MasterTableViewCell.swift index 40a8343e0..b08760865 100644 --- a/iOS/Master/Cell/MasterTableViewCell.swift +++ b/iOS/Master/Cell/MasterTableViewCell.swift @@ -17,9 +17,8 @@ protocol MasterTableViewCellDelegate: class { class MasterTableViewCell : UITableViewCell { - private var accessoryButton: UIButton? - weak var delegate: MasterTableViewCellDelegate? + var allowDisclosureSelection = false override var accessibilityLabel: String? { set {} @@ -93,8 +92,9 @@ class MasterTableViewCell : UITableViewCell { private let unreadCountView = MasterUnreadCountView(frame: CGRect.zero) private var showingEditControl = false - - required init?(coder: NSCoder) { + private var accessoryButton: UIButton? + + required init?(coder: NSCoder) { super.init(coder: coder) commonInit() } @@ -112,6 +112,10 @@ class MasterTableViewCell : UITableViewCell { @objc func buttonPressed(_ sender: UIButton) { + guard allowDisclosureSelection else { + return + } + if sender.imageView?.image == AppAssets.chevronRightImage { sender.setImage(AppAssets.chevronDownImage, for: .normal) delegate?.disclosureSelected(self, expanding: true) diff --git a/iOS/Master/MasterViewController.swift b/iOS/Master/MasterViewController.swift index ee276c2b5..eb1e90901 100644 --- a/iOS/Master/MasterViewController.swift +++ b/iOS/Master/MasterViewController.swift @@ -303,6 +303,7 @@ class MasterViewController: UITableViewController, UndoableCommandRunner { func configure(_ cell: MasterTableViewCell, _ node: Node) { cell.delegate = self + cell.allowDisclosureSelection = node.canHaveChildNodes cell.name = nameFor(node) configureUnreadCount(cell, node) configureFavicon(cell, node)