diff --git a/Riot/Modules/Common/Buttons/CustomRoundedButton.swift b/Riot/Modules/Common/Buttons/CustomRoundedButton.swift new file mode 100644 index 000000000..15c307092 --- /dev/null +++ b/Riot/Modules/Common/Buttons/CustomRoundedButton.swift @@ -0,0 +1,45 @@ +// +// Copyright 2020 New Vector Ltd +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +import UIKit + +class CustomRoundedButton: UIButton { + + // MARK: - Constants + + private enum Constants { + static let cornerRadius: CGFloat = 6.0 + static let fontSize: CGFloat = 17.0 + } + + // MARK: Setup + + override init(frame: CGRect) { + super.init(frame: frame) + self.commonInit() + } + + required init?(coder: NSCoder) { + super.init(coder: coder) + self.commonInit() + } + + private func commonInit() { + self.layer.masksToBounds = true + self.titleLabel?.font = UIFont.systemFont(ofSize: Constants.fontSize) + self.layer.cornerRadius = Constants.cornerRadius + } +} diff --git a/Riot/Modules/Common/Buttons/Close/RoundedButton.swift b/Riot/Modules/Common/Buttons/RoundedButton.swift similarity index 81% rename from Riot/Modules/Common/Buttons/Close/RoundedButton.swift rename to Riot/Modules/Common/Buttons/RoundedButton.swift index 61f2ac293..e8cb694e6 100644 --- a/Riot/Modules/Common/Buttons/Close/RoundedButton.swift +++ b/Riot/Modules/Common/Buttons/RoundedButton.swift @@ -16,14 +16,12 @@ import UIKit -final class RoundedButton: UIButton, Themable { +final class RoundedButton: CustomRoundedButton, Themable { // MARK: - Constants private enum Constants { static let backgroundColorAlpha: CGFloat = 0.2 - static let cornerRadius: CGFloat = 6.0 - static let fontSize: CGFloat = 17.0 } // MARK: - Properties @@ -45,17 +43,9 @@ final class RoundedButton: UIButton, Themable { override func awakeFromNib() { super.awakeFromNib() - self.layer.masksToBounds = true - self.titleLabel?.font = UIFont.systemFont(ofSize: Constants.fontSize) self.update(theme: ThemeService.shared().theme) } - override func layoutSubviews() { - super.layoutSubviews() - - self.layer.cornerRadius = Constants.cornerRadius - } - // MARK: - Private private func updateButtonStyle() {