From 13fe1f0890aad566d4f78221ad6fa6f34d5387b8 Mon Sep 17 00:00:00 2001 From: Anders Fogh Eriksen Date: Wed, 14 Mar 2018 09:26:09 +0100 Subject: [PATCH 1/3] Rename inset property for left button so it matches the tint property --- MessageViewController/MessageView.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/MessageViewController/MessageView.swift b/MessageViewController/MessageView.swift index 481f1a2..c91bab1 100644 --- a/MessageViewController/MessageView.swift +++ b/MessageViewController/MessageView.swift @@ -110,7 +110,7 @@ public final class MessageView: UIView, MessageTextViewListener { } } - public var buttonLeftInset: CGFloat = 0 { + public var leftButtonInset: CGFloat = 0 { didSet { setNeedsLayout() } } @@ -243,16 +243,16 @@ public final class MessageView: UIView, MessageTextViewListener { leftButton.frame = (showLeftButton) ? leftButtonFrame : .zero let textViewFrame = CGRect( - x: ((showLeftButton) ? leftButtonFrame.maxX : 0) + buttonLeftInset, + x: ((showLeftButton) ? leftButtonFrame.maxX : 0) + leftButtonInset, y: insetBounds.minY, - width: insetBounds.width - ((showLeftButton) ? leftButtonSize.width : 0) - buttonLeftInset - rightButtonSize.width, + width: insetBounds.width - ((showLeftButton) ? leftButtonSize.width : 0) - leftButtonInset - rightButtonSize.width, height: textViewHeight ) textView.frame = textViewFrame // adjust by bottom offset so content is flush w/ text view let rightButtonFrame = CGRect( - x: textViewFrame.maxX + buttonLeftInset, + x: textViewFrame.maxX + leftButtonInset, y: textViewFrame.maxY - rightButtonSize.height + rightButton.bottomHeightOffset, width: rightButtonSize.width, height: rightButtonSize.height From 81647bfbce1fa9d8b17a62173d495d664108199c Mon Sep 17 00:00:00 2001 From: Anders Fogh Eriksen Date: Wed, 14 Mar 2018 09:30:26 +0100 Subject: [PATCH 2/3] Clean up --- MessageViewController/MessageView.swift | 34 +++++-------------------- 1 file changed, 6 insertions(+), 28 deletions(-) diff --git a/MessageViewController/MessageView.swift b/MessageViewController/MessageView.swift index c91bab1..eaeffde 100644 --- a/MessageViewController/MessageView.swift +++ b/MessageViewController/MessageView.swift @@ -116,12 +116,10 @@ public final class MessageView: UIView, MessageTextViewListener { public func set(buttonIcon: UIImage?, for state: UIControlState, type: buttonType) { switch type { - case .left: - setLeft(buttonIcon: buttonIcon, for: state) - break - case .right: - setRight(buttonIcon: buttonIcon, for: state) - break + case .left: + leftButton.setImage(buttonIcon, for: state) + case .right: + rightButton.setImage(buttonIcon, for: state) } buttonLayoutDidChange() } @@ -129,31 +127,13 @@ public final class MessageView: UIView, MessageTextViewListener { public func set(buttonTitle: String, for state: UIControlState, type: buttonType) { switch type { case .left: - setLeft(buttonTitle: buttonTitle, for: state) - break + leftButton.setTitle(buttonTitle, for: state) case .right: - setRight(buttonTitle: buttonTitle, for: state) - break + rightButton.setTitle(buttonTitle, for: state) } buttonLayoutDidChange() } - private func setLeft(buttonIcon: UIImage?, for state: UIControlState) { - leftButton.setImage(buttonIcon, for: state) - } - - private func setLeft(buttonTitle: String, for state: UIControlState) { - leftButton.setTitle(buttonTitle, for: state) - } - - private func setRight(buttonIcon: UIImage?, for state: UIControlState) { - rightButton.setImage(buttonIcon, for: state) - } - - private func setRight(buttonTitle: String, for state: UIControlState) { - rightButton.setTitle(buttonTitle, for: state) - } - public var leftButtonTint: UIColor { get { return leftButton.tintColor } set { @@ -196,11 +176,9 @@ public final class MessageView: UIView, MessageTextViewListener { case .left: leftButton.addTarget(target, action: action, for: .touchUpInside) leftButtonAction = action - break case .right: rightButton.addTarget(target, action: action, for: .touchUpInside) rightButtonAction = action - break } } From 3759862b92534a608a2f2000ac90c037f2b80f6a Mon Sep 17 00:00:00 2001 From: Anders Fogh Eriksen Date: Wed, 14 Mar 2018 10:54:49 +0100 Subject: [PATCH 3/3] More cleaning --- MessageViewController/MessageView.swift | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/MessageViewController/MessageView.swift b/MessageViewController/MessageView.swift index eaeffde..6584002 100644 --- a/MessageViewController/MessageView.swift +++ b/MessageViewController/MessageView.swift @@ -115,22 +115,28 @@ public final class MessageView: UIView, MessageTextViewListener { } public func set(buttonIcon: UIImage?, for state: UIControlState, type: buttonType) { + let button: UIButton switch type { case .left: - leftButton.setImage(buttonIcon, for: state) + button = leftButton case .right: - rightButton.setImage(buttonIcon, for: state) + button = rightButton } + + button.setImage(buttonIcon, for: state) buttonLayoutDidChange() } public func set(buttonTitle: String, for state: UIControlState, type: buttonType) { + let button: UIButton switch type { case .left: - leftButton.setTitle(buttonTitle, for: state) + button = leftButton case .right: - rightButton.setTitle(buttonTitle, for: state) + button = rightButton } + + button.setTitle(buttonTitle, for: state) buttonLayoutDidChange() } @@ -172,14 +178,17 @@ public final class MessageView: UIView, MessageTextViewListener { } public func addButton(target: Any, action: Selector, type: buttonType) { + let button: UIButton switch type { case .left: - leftButton.addTarget(target, action: action, for: .touchUpInside) + button = leftButton leftButtonAction = action case .right: - rightButton.addTarget(target, action: action, for: .touchUpInside) + button = rightButton rightButtonAction = action } + + button.addTarget(target, action: action, for: .touchUpInside) } public override var keyCommands: [UIKeyCommand]? {