diff --git a/Tusker/Screens/Utilities/MultiColumnNavigationController.swift b/Tusker/Screens/Utilities/MultiColumnNavigationController.swift index 0f07f24b..e1537c8d 100644 --- a/Tusker/Screens/Utilities/MultiColumnNavigationController.swift +++ b/Tusker/Screens/Utilities/MultiColumnNavigationController.swift @@ -273,12 +273,17 @@ private class ColumnView: UIView { } private func installCloseBarButton(navigationItem: UINavigationItem) { - let item = UIBarButtonItem(image: UIImage(systemName: "xmark"), style: .done, target: self, action: #selector(closeNavigationColumn)) - item.accessibilityLabel = "Close Column" - if navigationItem.leftBarButtonItems != nil { - navigationItem.leftBarButtonItems!.insert(item, at: 0) + func makeItem() -> UIBarButtonItem { + let item = UIBarButtonItem(image: UIImage(systemName: "xmark"), style: .done, target: self, action: #selector(closeNavigationColumn)) + item.accessibilityLabel = "Close Column" + return item + } + if let leftItems = navigationItem.leftBarButtonItems { + if !leftItems.contains(where: { $0.action == #selector(closeNavigationColumn) }) { + navigationItem.leftBarButtonItems!.insert(makeItem(), at: 0) + } } else { - navigationItem.leftBarButtonItems = [item] + navigationItem.leftBarButtonItems = [makeItem()] } }