Fixed bug that incorrectly determining the showing edit control state.

This commit is contained in:
Maurice Parker 2019-04-17 07:48:38 -05:00
parent d769cf0af2
commit 1c6c2451ec
2 changed files with 10 additions and 4 deletions

View File

@ -84,18 +84,24 @@ class MasterTableViewCell : UITableViewCell {
}()
private let unreadCountView = MasterUnreadCountView(frame: CGRect.zero)
private var showingEditControl = false
required init?(coder: NSCoder) {
super.init(coder: coder)
commonInit()
}
override func willTransition(to state: UITableViewCell.StateMask) {
super.willTransition(to: state)
showingEditControl = state == .showingEditControl
}
override func layoutSubviews() {
super.layoutSubviews()
let layout = MasterTableViewCellLayout(cellSize: bounds.size, shouldShowImage: shouldShowImage, label: titleView, unreadCountView: unreadCountView, isEditing: isEditing)
let layout = MasterTableViewCellLayout(cellSize: bounds.size, shouldShowImage: shouldShowImage, label: titleView, unreadCountView: unreadCountView, showingEditingControl: showingEditControl)
layoutWith(layout)
}
}
private extension MasterTableViewCell {

View File

@ -21,13 +21,13 @@ struct MasterTableViewCellLayout {
let titleRect: CGRect
let unreadCountRect: CGRect
init(cellSize: CGSize, shouldShowImage: Bool, label: UILabel, unreadCountView: MasterUnreadCountView, isEditing: Bool) {
init(cellSize: CGSize, shouldShowImage: Bool, label: UILabel, unreadCountView: MasterUnreadCountView, showingEditingControl: Bool) {
let bounds = CGRect(x: 0.0, y: 0.0, width: floor(cellSize.width), height: floor(cellSize.height))
var rFavicon = CGRect.zero
if shouldShowImage {
let indent = isEditing ? MasterTableViewCellLayout.imageMarginLeft + 40 : MasterTableViewCellLayout.imageMarginLeft
let indent = showingEditingControl ? MasterTableViewCellLayout.imageMarginLeft + 40 : MasterTableViewCellLayout.imageMarginLeft
rFavicon = CGRect(x: indent, y: 0.0, width: MasterTableViewCellLayout.imageSize.width, height: MasterTableViewCellLayout.imageSize.height)
rFavicon = MasterTableViewCellLayout.centerVertically(rFavicon, bounds)
}