[IOS]UIProgressView的進度(progress)問題
作者: fase 日期: 2011-12-27 09:49
最近在iPhone程式開發中
使用了UIProgressView
但在某些情況下,竟然沒辦法指定進度
一般是使用
myProgressView.progress = 0.x;
0.0到1.0
但我是想在NSURLConnection裏的conectionDidFinishLoading裏使用
用一般方法竟然不能使用
在網路上查了半天,一直沒找到答案
是有看到一些其它的方法,雖然試不行
但漸漸了解為什麼不行的原因
原來是Thread的關係
網路上看到大部分是用副程式和performSelectorOnMainThread
但在我的程式裏並不成功
不過確定是因為Thread的關係
後來總算找到一篇說利用performSelectorInBackground
結果測試是可以使用
提供部分程式碼供大家參考
要先有個副程式
- (void)loadingProgress:(NSNumber *)nProgress
{
float progress = [nProgress floatValue];
myProgressView.progress = progress;
}
myProgressView請自行設置一個UIProgressView
如果要設定進度,則使用
[self performSelectorInBackground@selector(loadingProgress:) withObject:[NSNumber numberWithfloat:0.3]];
0.3的部分,請自行設定成所要的值
這是要帶參數進去的,也可不帶參數,就改用另一種方法
如果myProgressView.progress不成功的話
就可以來試看看這個方法
使用了UIProgressView
但在某些情況下,竟然沒辦法指定進度
一般是使用
myProgressView.progress = 0.x;
0.0到1.0
但我是想在NSURLConnection裏的conectionDidFinishLoading裏使用
用一般方法竟然不能使用
在網路上查了半天,一直沒找到答案
是有看到一些其它的方法,雖然試不行
但漸漸了解為什麼不行的原因
原來是Thread的關係
網路上看到大部分是用副程式和performSelectorOnMainThread
但在我的程式裏並不成功
不過確定是因為Thread的關係
後來總算找到一篇說利用performSelectorInBackground
結果測試是可以使用
提供部分程式碼供大家參考
要先有個副程式
- (void)loadingProgress:(NSNumber *)nProgress
{
float progress = [nProgress floatValue];
myProgressView.progress = progress;
}
myProgressView請自行設置一個UIProgressView
如果要設定進度,則使用
[self performSelectorInBackground@selector(loadingProgress:) withObject:[NSNumber numberWithfloat:0.3]];
0.3的部分,請自行設定成所要的值
這是要帶參數進去的,也可不帶參數,就改用另一種方法
如果myProgressView.progress不成功的話
就可以來試看看這個方法
標籤:
IOS,iPhone
評論: 0 |
引用: 0 |
閱讀: 5379 |
回到頁首
申請IOS Developer Program (2012-04-20 14:23)
iPhone上使用離線地圖 (2012-02-23 11:38)
[IOS]第一支iPhone程式上架了 (2012-01-09 10:56)
[IOS]刪除xib產生的錯誤 (2012-01-09 10:28)
[IOS]UITableView取消選取 (2011-12-07 17:44)