我正在開發一個類似於我公司的蘋果appstore的企業應用程序。在這我有一個要求實現循環下載進度圖像相同,當我們從appstore下載或更新任何應用程序時出現的圖像。這怎麼可以用Swift語言實現。 任何建議將是真正有用的..蘋果設備安裝移動應用程序的進度圈
-1
A
回答
0
`JPCActivityIndicatorButton` is working fine in `Xcode 8.3` `swift 3.x`
有用的情況下,一起來看看 - >
case Names.Spinning:
activityIndicator.transitionSavedState(Names.ProgressBar)
case Names.ProgressBar:
activityIndicator.transitionSavedState(Names.Paused)
0
我正在研究類似的任務,並且今天就設法實現了這一點。我認爲最簡單的方法是增強當前的用戶界面,這樣你只需要處理與進度圈相關的部分。
就我而言,我創建了一個名爲「UIButtonEnhanced」的新類,它是UIButton的一個子類。
請注意,在您的界面生成器中,您應該先將按鈕的類更改爲「UIButtonEnhanced」,然後創建出口。
enum DownloadStatus {
case remote
case downloading
case paused
case resumed
case success
}
// MARK: extension is not ideal, a better solution should be a subclass of UIButton
class UIButtonEnhanced: UIButton {
var progress: Float = 0 {
didSet {
circleShape.strokeEnd = CGFloat(self.progress)
}
}
var circleShape = CAShapeLayer()
public func drawCircle() {
let x: CGFloat = 0.0
let y: CGFloat = 0.0
let circlePath = UIBezierPath(roundedRect: CGRect(x: x, y: y, width: self.frame.height, height: self.frame.height), cornerRadius: self.frame.height/2).cgPath
circleShape.path = circlePath
circleShape.lineWidth = 3
circleShape.strokeColor = UIColor.white.cgColor
circleShape.strokeStart = 0
circleShape.strokeEnd = 0
circleShape.fillColor = UIColor.clear.cgColor
self.layer.addSublayer(circleShape)
}
// MARK: - Update the download status
var status: DownloadStatus = .remote {
didSet{
var buttonImageName = ""
switch self.status {
case .remote:
buttonImageName = "DownloadButton"
case .downloading:
buttonImageName = "PauseButton"
case .success:
buttonImageName = "DeleteButton"
case .paused:
buttonImageName = "DownloadButton"
case .resumed:
buttonImageName = "PauseButton"
}
self.setImage(UIImage(named: buttonImageName), for: .normal)
}
}
}
在你的viewController,您可以創建下面的代碼循環:
yourButton.drawCircle()
那麼當你的下載進度的變化,使用此代碼:
yourButton.progress = 0.5
當你的下載狀態修改,使用這個代碼:
yourButton.status = .success
相關問題
- 1. 激活設備應用程序安裝
- 2. 移動設備的Web應用程序?
- 3. WatchKit應用程序不安裝在我的蘋果手錶
- 4. 安裝後,應用程序將自動啓動設備-iPhone
- 5. 安裝Apple蘋果MFI程序測試
- 6. 移動設備應用程序
- 7. 蘋果手錶應用程序被拒絕,因爲應用程序沒有安裝在蘋果手錶上
- 8. iPhone應用程序與非蘋果設備中的電路板進行通信
- 9. 無法安裝蘋果手錶應用程序
- 10. 如何確保僅在設備上安裝移動Web應用程序?
- 11. Android應用程序在真實設備上崩潰如果手動安裝apk
- 12. 鈦:檢查設備上安裝的應用程序(安卓)
- 13. 從智能設備應用程序關閉Windows移動設備
- 14. 蘋果年度測試設備限制
- 15. 當在Windows移動設備上安裝應用程序時,安裝先決條件
- 16. 如何連接移動設備並在該設備中安裝android應用程序?
- 17. 將應用程序安裝爲根系設備上的系統應用程序
- 18. 在應用程序的越獄設備上安裝應用程序
- 19. 將應用程序安裝在不同的設備上測試應用程序?
- 20. flipkart等應用程序如何檢查設備中安裝的應用程序
- 21. uri調用安裝在設備中的應用程序
- 22. 更新安裝在用戶設備上的BlackBerry應用程序
- 23. 如何禁用設備管理員應用程序的安裝?
- 24. 什麼是蘋果移動設備的操作系統
- 25. 無法我的設備上安裝的應用程序 - 的iOS
- 26. 蘋果設備上的Ajax
- 27. 安裝在沒有GPS的設備上的FINE_LOCATION應用程序?
- 28. 測試設備上的應用程序;安裝的Xcode
- 29. 如何獲取已安裝應用程序的設備的deviceid?
- 30. 我的Android應用程序不能安裝在我的設備
你可以找到來自cocoascontrol.Use此鏈接以供參考https://github.com/mrackwitz/MRProgress和https://github.com/PavelKatunin/DownloadButton –
非常感謝你的朋友:) – victorious
: - 很高興我能幫助ü。 –