直播平臺原始碼,自定義下拉重新整理控制元件
直播平臺原始碼,自定義下拉重新整理控制元件
import Foundation import UIKit import SnapKit class XRefreshControl: UIRefreshControl { var observation: NSKeyValueObservation? var isLocalRefreshing: Bool = false let indicator = UIProgressView(progressViewStyle: .bar) var refreshingBlock: (()->Void)? override init(frame: CGRect) { super.init(frame: frame) observation = observe( \.frame, options: .new ) { [weak self] object, change in if self?.isRefreshing == true { if self?.isLocalRefreshing == false { if self?.refreshingBlock != nil { self?.refreshingBlock!() } } self?.isLocalRefreshing = true } else { let height = change.newValue!.height self?.indicator.progress = min(Float(abs(height / 60)), 1) } } } convenience init(refreshingBlock: @escaping ()->Void) { self.init(frame: .zero) self.refreshingBlock = refreshingBlock self.layer.masksToBounds = true self.backgroundColor = .red let v = UIView() v.backgroundColor = .red let center = UIView() v.addSubview(center) let title = UILabel() title.text = "載入中" title.textColor = .black center.addSubview(title) indicator.layer.masksToBounds = true center.addSubview(indicator) self.addSubview(v) v.snp.makeConstraints { make in make.edges.equalToSuperview() } center.snp.makeConstraints { make in make.center.equalToSuperview() make.width.equalToSuperview() } indicator.snp.makeConstraints { make in make.top.equalToSuperview() make.width.height.equalTo(32) make.centerX.equalToSuperview() } title.snp.makeConstraints { make in make.top.equalTo(indicator.snp.bottom) make.bottom.equalToSuperview() make.centerX.equalToSuperview() } } required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } deinit { observation = nil } override func endRefreshing() { super.endRefreshing() self.isLocalRefreshing = false indicator.progress = 0 } } extension UITableView { func endRefreshing() { if ((self.refreshControl?.isKind(of: XRefreshControl.self)) != nil) { self.refreshControl?.endRefreshing() } } }
以上就是直播平臺原始碼,自定義下拉重新整理控制元件, 更多內容歡迎關注之後的文章
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2992313/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 自定義一個下拉重新整理控制元件控制元件
- Android自定義下拉重新整理控制元件Android控制元件
- 直播平臺原始碼,Flutter 自定義 虛線 分割線原始碼Flutter
- 直播平臺搭建原始碼,qt自定義滑動按鈕原始碼QT
- 直播平臺原始碼,el-button自定義圖片顯示原始碼
- 手把手教會自定義下拉重新整理控制元件控制元件
- 直播平臺原始碼,Android自定義View實現呼吸燈效果原始碼AndroidView
- 直播平臺製作,SwipeRefreshLayout下拉重新整理的用法
- 直播原始碼網站,自定義平臺介面,完成各項內容更改原始碼網站
- 自定義下拉選單控制元件控制元件
- 微信小程式-自定義下拉重新整理微信小程式
- 直播平臺搭建,自定義氣泡效果(BubbleView)View
- 搭建自己的直播平臺,RecycleView下拉重新整理,上拉載入View
- iOS自定義控制元件:簡易下拉控制元件iOS控制元件
- 直播系統程式碼,自定義平臺私聊對話方塊
- 直播平臺原始碼,flutter 自定義九宮格,計算器佈局,驗證碼認證原始碼Flutter
- app直播原始碼,java自定義註解APP原始碼Java
- iScroll下拉重新整理 原始碼原始碼
- .net自定義控制元件下拉的屬性控制元件
- 自定義View——仿騰訊TIM下拉重新整理ViewView
- 線上直播原始碼,自定義氣泡效果(BubbleView)原始碼View
- PHP直播平臺原始碼搭建教程PHP原始碼
- React Native 實現自定義下拉重新整理元件React Native元件
- Android 自定義View UC下拉重新整理效果(二)AndroidView
- Android 自定義View UC下拉重新整理效果(三)AndroidView
- Android 自定義View UC下拉重新整理效果(一)AndroidView
- 短視訊平臺原始碼,自定義流式佈局--kotlin原始碼Kotlin
- 直播原始碼,下拉重新整理和上劃預載入新內容原始碼
- 直播平臺原始碼,自定義設定 View 四個角的圓角 以及邊框的設定原始碼View
- 直播系統app原始碼,TabLayout:自定義字型大小APP原始碼TabLayout自定義字型
- 直播系統平臺搭建,自定義控制元件根據圖片寬度設定長度控制元件
- 直播平臺原始碼,bmob_gudongStpeAdd原始碼
- 自定義控制元件(三) 原始碼分析measure流程控制元件原始碼
- iOS自定義MJRefresh上拉和下拉重新整理動畫iOS動畫
- 快速運營搭建直播軟體平臺直播原始碼!原始碼
- 手機直播原始碼,Flutter 自定義 虛線 分割線原始碼Flutter
- app直播原始碼,vue 自定義指令過濾特殊字元APP原始碼Vue字元
- 直播商城原始碼,vue 自定義指令過濾特殊字元原始碼Vue字元