|
@@ -29,6 +29,7 @@ public class MVBanner: UIView {
|
|
|
|
|
|
public var isAutoPlay: Bool = true
|
|
|
public var autoTimeInterval: TimeInterval = 0
|
|
|
+ var currentPage = -1
|
|
|
public var isShowPageControl: Bool = true {
|
|
|
didSet {
|
|
|
self.pageControl.isHidden = !self.isShowPageControl
|
|
@@ -68,12 +69,12 @@ public class MVBanner: UIView {
|
|
|
public override func layoutSubviews() {
|
|
|
super.layoutSubviews()
|
|
|
self.collectionView.frame = self.bounds
|
|
|
- var size = self.pageControl.size(forNumberOfPages: self.pageControl.numberOfPages)
|
|
|
- size.width = min(self.flowLayout.itemSize.width, size.width)
|
|
|
- self.pageControl.frame = CGRect(origin: .zero, size: size)
|
|
|
- var center = self.center
|
|
|
- center.y = self.flowLayout.itemSize.height - self.pageControl.frame.height * 0.5
|
|
|
- self.pageControl.center = center
|
|
|
+// var size = self.pageControl.size(forNumberOfPages: self.pageControl.numberOfPages)
|
|
|
+// size.width = min(self.flowLayout.itemSize.width, size.width)
|
|
|
+// self.pageControl.frame = CGRect(origin: .zero, size: size)
|
|
|
+// var center = self.center
|
|
|
+// center.y = self.flowLayout.itemSize.height - self.pageControl.frame.height * 0.5
|
|
|
+// self.pageControl.center = center
|
|
|
}
|
|
|
|
|
|
private func setupSubviews() {
|
|
@@ -119,13 +120,14 @@ fileprivate extension MVBanner {
|
|
|
return IndexPath(item: self.index(realIndex: realIndex), section: 0)
|
|
|
}
|
|
|
func setCurrentPage(_ page: Int) {
|
|
|
+ if currentPage == page{
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
if (delegate?.responds(to: #selector(delegate?.pageControl(currentPage:))) ?? false) {
|
|
|
self.delegate?.pageControl?(currentPage: page)
|
|
|
- } else {
|
|
|
- if self.pageControl.currentPage != page {
|
|
|
- self.pageControl.currentPage = page
|
|
|
- }
|
|
|
}
|
|
|
+ currentPage = page
|
|
|
}
|
|
|
func checkRealOutOfBounds() {
|
|
|
if self.currentIndex <= (MVInsetCount - 1) {
|