SWFIT 3におけるbannerカスタム
1430 ワード
appの中でスクロールする広告ビューは最もよく使われる小さなモジュールの一つで、今いくつかの自分で作ったbannerの重要な部分を書いて、みんなと分かち合って、もちろんこれはswift 3以上で、OCの後でも分かち合いますが、構想は基本的に1つです.まずbannerを作るにはTimerが欠かせません.だからここで私はtimerに小さな拡張をあげて、起動と一時停止と遅延の起動に便利です.この3つの方法はTimerのextensionに書くことができる.
次に使用するキープロパティ
次にdeinitでscrollViewのdelegateを手動で解放する必要があります.理由については、自分で踏むことをお勧めします.
次に、間隔時間、scrollView、pageControlを初期化する必要がある初期化方法を提供します.
func pauseTimer() {
if self.isValid {
self.fireDate = Date.distantFuture
}
}
func resumeTimer() {
if self.isValid {
self.fireDate = Date()
}
}
func resumeTimerAfterInterval(_ interval: TimeInterval ) {
if self.isValid {
self.fireDate = Date(timeIntervalSinceNow: interval)
}
}
次に使用するキープロパティ
var scrollView: UIScrollView?
var currentPageIndex: Int?
var animationTimer: Timer?
var pageControl : ( pageControl )?
//block
var contentViewAtIndex : ((_ pageIndex: Int)->UIImageView)?
var tapActionBlock: ((_ pageIndex: Int)-> Void)?
//private
private var contentViews : [UIImageView] = []
var animationInterval : TimeInterval?
private var totalPages : Int?
次にdeinitでscrollViewのdelegateを手動で解放する必要があります.理由については、自分で踏むことをお勧めします.
deinit {
scrollView?.delegate = nil
}
次に、間隔時間、scrollView、pageControlを初期化する必要がある初期化方法を提供します.
init(frame: CGRect ,_ duration: TimeInterval) {
super.init(frame: frame)
}