From e31be75d95f29306473cc232e425f3fa1a965e7d Mon Sep 17 00:00:00 2001 From: Maurice Parker Date: Sat, 20 Apr 2019 11:25:02 -0500 Subject: [PATCH] Fixed rendering on phones with the notch by taking into consideration cell safe area insets. --- iOS/Master/Cell/MasterTableViewCell.swift | 2 +- iOS/Master/Cell/MasterTableViewCellLayout.swift | 6 +++--- iOS/Master/Cell/MasterTableViewSectionHeader.swift | 2 +- iOS/Master/MasterViewController.swift | 2 ++ 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/iOS/Master/Cell/MasterTableViewCell.swift b/iOS/Master/Cell/MasterTableViewCell.swift index b8b95acd5..8cea92c37 100644 --- a/iOS/Master/Cell/MasterTableViewCell.swift +++ b/iOS/Master/Cell/MasterTableViewCell.swift @@ -112,7 +112,7 @@ class MasterTableViewCell : UITableViewCell { override func layoutSubviews() { super.layoutSubviews() - let layout = MasterTableViewCellLayout(cellSize: bounds.size, shouldShowImage: shouldShowImage, label: titleView, unreadCountView: unreadCountView, showingEditingControl: showingEditControl, indent: indentationLevel == 1, shouldShowDisclosure: !showsReorderControl) + let layout = MasterTableViewCellLayout(cellSize: bounds.size, insets: safeAreaInsets, shouldShowImage: shouldShowImage, label: titleView, unreadCountView: unreadCountView, showingEditingControl: showingEditControl, indent: indentationLevel == 1, shouldShowDisclosure: !showsReorderControl) layoutWith(layout) } diff --git a/iOS/Master/Cell/MasterTableViewCellLayout.swift b/iOS/Master/Cell/MasterTableViewCellLayout.swift index e0039fd44..cc692740c 100644 --- a/iOS/Master/Cell/MasterTableViewCellLayout.swift +++ b/iOS/Master/Cell/MasterTableViewCellLayout.swift @@ -25,9 +25,9 @@ struct MasterTableViewCellLayout { let unreadCountRect: CGRect let disclosureButtonRect: CGRect - init(cellSize: CGSize, shouldShowImage: Bool, label: UILabel, unreadCountView: MasterUnreadCountView, showingEditingControl: Bool, indent: Bool, shouldShowDisclosure: Bool) { + init(cellSize: CGSize, insets: UIEdgeInsets, shouldShowImage: Bool, label: UILabel, unreadCountView: MasterUnreadCountView, showingEditingControl: Bool, indent: Bool, shouldShowDisclosure: Bool) { - var initialIndent = MasterTableViewCellLayout.marginLeft + var initialIndent = MasterTableViewCellLayout.marginLeft + insets.left if indent { initialIndent += MasterTableViewCellLayout.indent } @@ -35,7 +35,7 @@ struct MasterTableViewCellLayout { initialIndent += MasterTableViewCellLayout.editingControlIndent } - let bounds = CGRect(x: initialIndent, y: 0.0, width: floor(cellSize.width - initialIndent), height: floor(cellSize.height)) + let bounds = CGRect(x: initialIndent, y: 0.0, width: floor(cellSize.width - initialIndent - insets.right), height: floor(cellSize.height)) // Favicon var rFavicon = CGRect.zero diff --git a/iOS/Master/Cell/MasterTableViewSectionHeader.swift b/iOS/Master/Cell/MasterTableViewSectionHeader.swift index beaa98398..a2b468fab 100644 --- a/iOS/Master/Cell/MasterTableViewSectionHeader.swift +++ b/iOS/Master/Cell/MasterTableViewSectionHeader.swift @@ -71,7 +71,7 @@ class MasterTableViewSectionHeader: UITableViewHeaderFooterView { override func layoutSubviews() { super.layoutSubviews() - let layout = MasterTableViewCellLayout(cellSize: bounds.size, shouldShowImage: false, label: titleView, unreadCountView: unreadCountView, showingEditingControl: false, indent: true, shouldShowDisclosure: false) + let layout = MasterTableViewCellLayout(cellSize: bounds.size, insets: safeAreaInsets, shouldShowImage: false, label: titleView, unreadCountView: unreadCountView, showingEditingControl: false, indent: true, shouldShowDisclosure: false) layoutWith(layout) } diff --git a/iOS/Master/MasterViewController.swift b/iOS/Master/MasterViewController.swift index 579805247..a77dc206f 100644 --- a/iOS/Master/MasterViewController.swift +++ b/iOS/Master/MasterViewController.swift @@ -489,6 +489,8 @@ class MasterViewController: UITableViewController, UndoableCommandRunner { cell.delegate = self if node.parent?.representedObject is Folder { cell.indentationLevel = 1 + } else { + cell.indentationLevel = 0 } cell.disclosureExpanded = expandedNodes.contains(node) cell.allowDisclosureSelection = node.canHaveChildNodes