ProgressView UI가 표시되지 않지만 레이블이 있습니다. [빠른]

ppppppPppppp

모든 tabBar 뷰 컨트롤러에서 progressView를 사용하여 사용자가 데이터가로드되는 양을 확인하면서 앱을 사용할 수 있도록하고 싶습니다.

내가 가진 문제는 progressView UI가 레이블 만 표시하지 않는다는 것입니다. 나는 모든 것을 올바르게 설정하고 그것이 0이 아닌지 확인한다고 생각합니다. 감사합니다.

라벨 만 표시됨

TabBarViewController

import UIKit

let progressViewTag = 10000
let progressUpdateNotification = "progressUpdateNotification"
var progressLabel = UILabel()

class TabBarViewController: UITabBarController {
   
    override func viewDidLoad() {
        super.viewDidLoad()
        
        let progressView = UIProgressView(progressViewStyle: .bar)
        progressView.tag = progressViewTag
        progressView.frame = CGRect(x: 0, y: 93, width: self.view.frame.width, height: 5)
        progressView.transform = progressView.transform.scaledBy(x: 1, y: 5)
        progressView.translatesAutoresizingMaskIntoConstraints = false
        self.view.addSubview(progressView)
        
        progressLabel = UILabel(frame: CGRect(x: 0, y: 91, width: UIScreen.main.bounds.width, height: 8))
        progressLabel.translatesAutoresizingMaskIntoConstraints = true
        progressLabel.textAlignment = .center
        progressLabel.font = UIFont.boldSystemFont(ofSize: 8)
        progressLabel.textColor = UIColor.white
        self.view.addSubview(progressLabel)
        
        progressView.setProgress(0.0, animated: false)
        
        NotificationCenter.default.addObserver(self, selector: #selector(didReceiveNotification(notification:)), name: NSNotification.Name(rawValue: progressUpdateNotification), object: nil)
    }
    
    var progressView: UIProgressView? {
        return self.view.viewWithTag(progressViewTag) as? UIProgressView
    }
    
    @objc func didReceiveNotification(notification: NSNotification) {
        if let progress = notification.object as? ProgressNotification {
            if progress.current == progress.total {
                progressLabel.text = ""
                self.progressView?.setProgress(0.0, animated: false)
                
            } else {
                let perc = Float(progress.current) / Float(progress.total)
                progressLabel.text = "Scraping \(String(format: "%.0f", (perc * 100))) % ..."
                self.progressView?.setProgress(perc, animated: true)
            }
        }
    }
}

class ProgressNotification {
    var current: Int = 0
    var total:   Int = 0
}

알림이있는 서버 호출

func apiCall(sender: UIViewController, counter: Int, completion: (()-> Void)? = nil) {
var count = counter
let total = 5
let notification = ProgressNotification()

counting(completion: { result in
    count += 1
    notification.current = count
    notification.total = total
    DispatchQueue.main.async {
        NotificationCenter.default.post(name:Notification.Name(rawValue: progressUpdateNotification), object: notification)
        print("notificationCenter called.")
    }
    
    .
    .
    .
    }
}
Junaidsidhu
    progressView.translatesAutoresizingMaskIntoConstraints = false

변경하십시오.

    progressView.translatesAutoresizingMaskIntoConstraints = true

UIProgressView에 대한 코드도 업데이트하십시오.

var progressView: UIProgressView? {
    return self.view.viewWithTag(progressViewTag) as? UIProgressView
}

변경하십시오.

var progressView : UIProgressView?

class TabBarViewController: UITabBarController {
   
override func viewDidLoad() {
    super.viewDidLoad()
    
    self.progressView = UIProgressView(progressViewStyle: .bar)
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

프롬프트가 표시되는 경우 패키지를 설치하는 빠른 방법이 있습니까?

분류에서Dev

블록을 추가했지만 표시되지 않습니다.

분류에서Dev

Swagger UI는 경로가 같지만 HTTP 방법이 다른 작업을 표시하지 않습니다.

분류에서Dev

변수에 올바른 값이 있지만 '초기화되지 않은 값'경고가 표시됩니다.

분류에서Dev

JavaScript 프로그램의 레이블이있는 웹 페이지가 다른 레이블 / 텍스트 영역과 정렬되지 않습니다.

분류에서Dev

Ubuntu가 부팅되지 않습니다. 매우 빠른 스크롤 텍스트 만 표시

분류에서Dev

Material UI의 TextField가 선택 후 레이블을 표시하지 않습니다.

분류에서Dev

Django 보안 경고가 표시되지만 팀의 다른 개발자는 표시되지 않는 이유

분류에서Dev

표시등이 표시되지만 큐브가 나타나지 않습니다.

분류에서Dev

내 Index.cshtml에 CSS 폴더가 표시되지만 다른 페이지에는 동일한 CSS 폴더가 표시되지 않습니까?

분류에서Dev

이미지가 HTML로 표시되지만 DOMPDF ()에 대한 이미지가 표시되지 않습니다.

분류에서Dev

두 개의 열을 표시하지만 그 중 하나가 SQL Server의 다른 테이블에있는 다른 열과 결합되어 있습니다.

분류에서Dev

Google지도의 날씨 레이어가 다른 도시에 표시되지 않습니까?

분류에서Dev

Apex / Oracle : 새 페이지를 만들 때 내가 만든 테이블이 표시되지 않습니다.

분류에서Dev

메이븐 빠른 아키가 존재하지 않습니다

분류에서Dev

배너 이미지가 올바른 크기로 표시되지 않습니다.

분류에서Dev

타이머와 함께 표시되는 javafx 레이블 메시지가 작동하지 않습니다.

분류에서Dev

Python tkinter 이미지 레이블은 일부 이미지를 무작위로 표시하지만 다른 이미지는 표시하지 않습니다.

분류에서Dev

빠른 정렬 코드에 오류가 있지만 오류 창에 표시되지 않음

분류에서Dev

이 코드에 어떤 문제가 있습니까? 오류가 표시되지 않지만 출력도 표시되지 않습니다.

분류에서Dev

Firefox에서만 추가 간격이 있지만 인스펙터에는 표시되지 않습니다.

분류에서Dev

정보 창이 더 있지만지도에 마커가 표시되지 않습니다.

분류에서Dev

Android Webview에 웹 페이지가 표시되지 않지만 여전히 상호 작용할 수 있습니다.

분류에서Dev

테이블 레이아웃 : 마지막 열의 텍스트가 완전히 표시되지 않습니다.

분류에서Dev

에뮬레이터가 Mac에 표시되지 않습니다.

분류에서Dev

Geoserver WMS 레이어가 OpenLayers에 표시되지 않습니다.

분류에서Dev

SKSpriteNode 오버레이가 표시되지 않았습니다.

분류에서Dev

TextView가 레이아웃에 표시되지 않습니다.

분류에서Dev

ArrayList가 레이아웃에 표시되지 않습니다.

Related 관련 기사

  1. 1

    프롬프트가 표시되는 경우 패키지를 설치하는 빠른 방법이 있습니까?

  2. 2

    블록을 추가했지만 표시되지 않습니다.

  3. 3

    Swagger UI는 경로가 같지만 HTTP 방법이 다른 작업을 표시하지 않습니다.

  4. 4

    변수에 올바른 값이 있지만 '초기화되지 않은 값'경고가 표시됩니다.

  5. 5

    JavaScript 프로그램의 레이블이있는 웹 페이지가 다른 레이블 / 텍스트 영역과 정렬되지 않습니다.

  6. 6

    Ubuntu가 부팅되지 않습니다. 매우 빠른 스크롤 텍스트 만 표시

  7. 7

    Material UI의 TextField가 선택 후 레이블을 표시하지 않습니다.

  8. 8

    Django 보안 경고가 표시되지만 팀의 다른 개발자는 표시되지 않는 이유

  9. 9

    표시등이 표시되지만 큐브가 나타나지 않습니다.

  10. 10

    내 Index.cshtml에 CSS 폴더가 표시되지만 다른 페이지에는 동일한 CSS 폴더가 표시되지 않습니까?

  11. 11

    이미지가 HTML로 표시되지만 DOMPDF ()에 대한 이미지가 표시되지 않습니다.

  12. 12

    두 개의 열을 표시하지만 그 중 하나가 SQL Server의 다른 테이블에있는 다른 열과 결합되어 있습니다.

  13. 13

    Google지도의 날씨 레이어가 다른 도시에 표시되지 않습니까?

  14. 14

    Apex / Oracle : 새 페이지를 만들 때 내가 만든 테이블이 표시되지 않습니다.

  15. 15

    메이븐 빠른 아키가 존재하지 않습니다

  16. 16

    배너 이미지가 올바른 크기로 표시되지 않습니다.

  17. 17

    타이머와 함께 표시되는 javafx 레이블 메시지가 작동하지 않습니다.

  18. 18

    Python tkinter 이미지 레이블은 일부 이미지를 무작위로 표시하지만 다른 이미지는 표시하지 않습니다.

  19. 19

    빠른 정렬 코드에 오류가 있지만 오류 창에 표시되지 않음

  20. 20

    이 코드에 어떤 문제가 있습니까? 오류가 표시되지 않지만 출력도 표시되지 않습니다.

  21. 21

    Firefox에서만 추가 간격이 있지만 인스펙터에는 표시되지 않습니다.

  22. 22

    정보 창이 더 있지만지도에 마커가 표시되지 않습니다.

  23. 23

    Android Webview에 웹 페이지가 표시되지 않지만 여전히 상호 작용할 수 있습니다.

  24. 24

    테이블 레이아웃 : 마지막 열의 텍스트가 완전히 표시되지 않습니다.

  25. 25

    에뮬레이터가 Mac에 표시되지 않습니다.

  26. 26

    Geoserver WMS 레이어가 OpenLayers에 표시되지 않습니다.

  27. 27

    SKSpriteNode 오버레이가 표시되지 않았습니다.

  28. 28

    TextView가 레이아웃에 표시되지 않습니다.

  29. 29

    ArrayList가 레이아웃에 표시되지 않습니다.

뜨겁다태그

보관