From 93ca45417bb5a7e6aa5c203129d851e5ca1fc2cc Mon Sep 17 00:00:00 2001 From: xysT2W <67670791+xysT2W@users.noreply.github.com> Date: Wed, 19 May 2021 11:49:01 +0800 Subject: [PATCH 1/4] fix an underline padding showing error it will happened when the underline first showed on screen when padding set --- Sources/Classes/TabView.swift | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Sources/Classes/TabView.swift b/Sources/Classes/TabView.swift index 8b20a6e..c63b69a 100644 --- a/Sources/Classes/TabView.swift +++ b/Sources/Classes/TabView.swift @@ -422,8 +422,10 @@ extension TabView { } else { adjustCellWidth = (frame.width - options.margin * 2) / CGFloat(dataSource.numberOfItems(in: self)) - options.additionView.padding.horizontal } - - additionView.frame.origin.x = adjustCellWidth * CGFloat(index) - options.additionView.padding.left + + let itemWidth = adjustCellWidth + options.additionView.padding.horizontal + let startX = index > 0 ? options.margin : options.margin + (itemWidth * CGFloat(index)) + additionView.frame.origin.x = startX + options.additionView.padding.left additionView.frame.size.width = adjustCellWidth } From 160d317ca4218f287fe68357a60fae5138cd6445 Mon Sep 17 00:00:00 2001 From: xysT2W <67670791+xysT2W@users.noreply.github.com> Date: Wed, 19 May 2021 14:38:51 +0800 Subject: [PATCH 2/4] fix an error that between circle and unerline --- Sources/Classes/TabView.swift | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Sources/Classes/TabView.swift b/Sources/Classes/TabView.swift index c63b69a..1a21a47 100644 --- a/Sources/Classes/TabView.swift +++ b/Sources/Classes/TabView.swift @@ -423,10 +423,15 @@ extension TabView { adjustCellWidth = (frame.width - options.margin * 2) / CGFloat(dataSource.numberOfItems(in: self)) - options.additionView.padding.horizontal } - let itemWidth = adjustCellWidth + options.additionView.padding.horizontal - let startX = index > 0 ? options.margin : options.margin + (itemWidth * CGFloat(index)) - additionView.frame.origin.x = startX + options.additionView.padding.left - additionView.frame.size.width = adjustCellWidth + if options.addition == .underline { + let itemWidth = adjustCellWidth + options.additionView.padding.horizontal + let startX = index > 0 ? options.margin : options.margin + (itemWidth * CGFloat(index)) + additionView.frame.origin.x = startX + options.additionView.padding.left + additionView.frame.size.width = adjustCellWidth + } else { + additionView.frame.origin.x = adjustCellWidth * CGFloat(index) - options.additionView.padding.left + additionView.frame.size.width = adjustCellWidth + } } fileprivate func animateAdditionView(index: Int, animated: Bool, completion: ((Bool) -> Swift.Void)? = nil) { From d7dd97f70395e3a4f3c84d9dedde3f083d20cf20 Mon Sep 17 00:00:00 2001 From: "ys@T2W" Date: Wed, 14 Jul 2021 19:01:17 +0800 Subject: [PATCH 3/4] feat: selectedFont --- Sources/Classes/SwipeMenuView.swift | 3 +++ Sources/Classes/TabItemView.swift | 7 ++++++- Sources/Classes/TabView.swift | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/Sources/Classes/SwipeMenuView.swift b/Sources/Classes/SwipeMenuView.swift index bfa4b19..0b02784 100644 --- a/Sources/Classes/SwipeMenuView.swift +++ b/Sources/Classes/SwipeMenuView.swift @@ -26,6 +26,9 @@ public struct SwipeMenuViewOptions { /// ItemView font. Defaults to `14 pt as bold SystemFont`. public var font: UIFont = UIFont.boldSystemFont(ofSize: 14) + + /// ItemView selected font. Defaults to `14 pt as bold SystemFont`. + public var selectedFont: UIFont = UIFont.boldSystemFont(ofSize: 14) /// ItemView clipsToBounds. Defaults to `true`. public var clipsToBounds: Bool = true diff --git a/Sources/Classes/TabItemView.swift b/Sources/Classes/TabItemView.swift index 4b7d1ff..e7bb9de 100644 --- a/Sources/Classes/TabItemView.swift +++ b/Sources/Classes/TabItemView.swift @@ -6,13 +6,18 @@ final class TabItemView: UIView { public var textColor: UIColor = UIColor(red: 140/255, green: 140/255, blue: 140/255, alpha: 1.0) public var selectedTextColor: UIColor = .white + public var selectedFont: UIFont = UIFont.boldSystemFont(ofSize: 14) + public var font: UIFont = UIFont.boldSystemFont(ofSize: 14) + public var isSelected: Bool = false { didSet { if isSelected { titleLabel.textColor = selectedTextColor + titleLabel.font = selectedFont } else { titleLabel.textColor = textColor + titleLabel.font = font } } } @@ -34,7 +39,7 @@ final class TabItemView: UIView { private func setupLabel() { titleLabel = UILabel(frame: bounds) titleLabel.textAlignment = .center - titleLabel.font = UIFont.boldSystemFont(ofSize: 14) + titleLabel.font = font titleLabel.textColor = UIColor(red: 140/255, green: 140/255, blue: 140/255, alpha: 1.0) titleLabel.backgroundColor = UIColor.clear addSubview(titleLabel) diff --git a/Sources/Classes/TabView.swift b/Sources/Classes/TabView.swift index 1a21a47..2b35b37 100644 --- a/Sources/Classes/TabView.swift +++ b/Sources/Classes/TabView.swift @@ -219,6 +219,7 @@ open class TabView: UIScrollView { tabItemView.titleLabel.font = options.itemView.font tabItemView.textColor = options.itemView.textColor tabItemView.selectedTextColor = options.itemView.selectedTextColor + tabItemView.selectedFont = options.itemView.selectedFont } tabItemView.isSelected = index == currentIndex From 88a6a9327eb15aa6570c1aeb8773a2ce53ce7606 Mon Sep 17 00:00:00 2001 From: "ys@T2W" Date: Wed, 14 Jul 2021 19:42:12 +0800 Subject: [PATCH 4/4] fix: addtionview error --- Sources/Classes/TabView.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/Classes/TabView.swift b/Sources/Classes/TabView.swift index 2b35b37..8e298b6 100644 --- a/Sources/Classes/TabView.swift +++ b/Sources/Classes/TabView.swift @@ -426,7 +426,7 @@ extension TabView { if options.addition == .underline { let itemWidth = adjustCellWidth + options.additionView.padding.horizontal - let startX = index > 0 ? options.margin : options.margin + (itemWidth * CGFloat(index)) + let startX = (itemWidth * CGFloat(index)) additionView.frame.origin.x = startX + options.additionView.padding.left additionView.frame.size.width = adjustCellWidth } else {