From 3f7a70a51689c4d8cb122f636d0499c0c6cd5027 Mon Sep 17 00:00:00 2001 From: Alexander Tovstonozhenko Date: Thu, 21 Jun 2018 14:50:35 +0300 Subject: [PATCH 1/2] Fix crash caused by nil lineView and titleLabel --- Sources/SkyFloatingLabelTextField.swift | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/Sources/SkyFloatingLabelTextField.swift b/Sources/SkyFloatingLabelTextField.swift index f020a27..70aa484 100644 --- a/Sources/SkyFloatingLabelTextField.swift +++ b/Sources/SkyFloatingLabelTextField.swift @@ -411,9 +411,11 @@ open class SkyFloatingLabelTextField: UITextField { // swiftlint:disable:this ty } fileprivate func updateLineView() { - if let lineView = lineView { - lineView.frame = lineViewRectForBounds(bounds, editing: editingOrSelected) + guard let lineView = lineView else { + return } + + lineView.frame = lineViewRectForBounds(bounds, editing: editingOrSelected) updateLineColor() } @@ -427,6 +429,10 @@ open class SkyFloatingLabelTextField: UITextField { // swiftlint:disable:this ty } fileprivate func updateLineColor() { + guard let lineView = lineView else { + return + } + if !isEnabled { lineView.backgroundColor = disabledColor } else if hasErrorMessage { @@ -437,6 +443,10 @@ open class SkyFloatingLabelTextField: UITextField { // swiftlint:disable:this ty } fileprivate func updateTitleColor() { + guard let titleLabel = titleLabel else { + return + } + if !isEnabled { titleLabel.textColor = disabledColor } else if hasErrorMessage { @@ -463,6 +473,9 @@ open class SkyFloatingLabelTextField: UITextField { // swiftlint:disable:this ty // MARK: - Title handling fileprivate func updateTitleLabel(_ animated: Bool = false) { + guard let titleLabel = titleLabel else { + return + } var titleText: String? = nil if hasErrorMessage { From 952203b012b16503c4d410d0de635ee4f08093f2 Mon Sep 17 00:00:00 2001 From: Alexander Tovstonozhenko Date: Thu, 21 Jun 2018 15:37:25 +0300 Subject: [PATCH 2/2] Update CHANGELOG.md --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 633b0d2..ce3cc8b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ Master ------ +* Fixed crash when overriding certain properties [#216](https://github.com/Skyscanner/SkyFloatingLabelTextField/pull/216). Thanks to [alextov](https://github.com/alextov). + v3.5.1 ------