簡體   English   中英

UIProgressView 在低值問題上取得進展

[英]UIProgressView with progress at low values issue

我正在運行一個每秒更新一次的進度條。 它需要運行超過 300 秒,因此進度條的“進度”變量的變化幅度約為每秒 0.003。

不過,我注意到“進度”變量值較低的問題。 基本上,0.09 和低於此值的值之間似乎沒有任何區別。 所以最終會發生的是,當進度條在 0.0 - 0.09 范圍內時,即使進度變量正在發生變化,它也不會顯示任何視覺變化。 另一個副作用是,如果我從 0.0 開始進度條,它會立即跳轉到圖像 0.09 左右(並保持在那里直到真正的進度過去),這看起來有點奇怪。

可能值得一提的是,這似乎不是進度條上其他任何地方的問題。 它能夠在其他任何地方一次將進度條移動 0.003,包括非常接近 1.0。

我想這不是什么大問題,但我想知道是否有人知道解決這個問題的方法。

提前致謝。

我知道這篇文章基本上已經死了,但是我提出了一種處理它的方法,它不涉及多個UIProgressView

我決定完全忘記UIProgressView並編寫一個利用UISlider的虛假UISlider 我用[setThumbImage:[UIImage new] forState:UIControlStateNormal]刪除了旋鈕並禁用了用戶交互。 從這里開始,我做了其他所有類似於UIProgressView工作的方法,除了顯然符合滑塊處理跟蹤的方式。

我還將UISlider子類UISlider利用(CGRect)trackRectForBounds:(CGRect)bounds以便我可以將軌道高度設置為更像UIProgressView

希望這有助於其他人。

嘗試使用2個進度條。 一個用於微型,一個用於宏。 使用微型在宏條中反映0.1范圍。 這樣你就可以展示更精細的動作。

幾天前我遇到了同樣的問題,通過刪除 UIProgressView 並使用兩個 UIView 實例和 UIViewPropertyAnimator 實例來解決它。

基本上第一個視圖代表一個空的進度,它應該采用進度條的寬度,第二個視圖代表進度移動,它最初應該為零寬度,它應該在第一個視圖之上,並且兩個視圖應該有不同的顏色。 空進度視圖可能是淺灰色,實際進度視圖可能是深灰色。

然后,當你的進度開始時,增加第二個視圖的寬度,這樣它就會覆蓋空的進度視圖。

使用 UIViewPropertyAnimator 制作動畫,它提供了簡單有用的內置功能來平滑處理動畫,例如您可以暫停和恢復動畫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM