2010-06-05 65 views
1

我有一段代码上传的图像:UIActivityView和阻止

[activity startAnimating]; 
[self uploadImage:img Session_id:appDelegate.sessionID PlaceID:place.placeID Comment:comment.text]; 
[activity stopAnimating]; 

我确信,活动是正确连接到一个UIActivityViewIndicator,但它永远不会显示。在uploadImage函数中,我打开了一个到服务器的连接并开始上传。有没有人有一个例子或可能的解释,为什么活动视图不会显示?

+0

您是否将activityView作为子视图添加到屏幕视图?或者它是在Interface Builder中设置并分配给一个插座?我想最新的,根据你的帖子。据我所知,如果主线程被阻塞,UIActivityIndi​​cator将继续旋转dven。也许它在白色背景上,activityIndi​​cator的风格设置为白色? – Joost 2010-06-05 22:52:39

回答

2

如果您正在主线程上执行上传操作,则会被阻止,并且UI无法更新。

我会建议在后台线程上运行它。

+1

看看NSURLConnection和NSURLRequest(及其可变的朋友)。它们将使您能够异步地建立连接并请求Web服务,从而保持主线程和UI不被阻塞。 – Jasarien 2010-06-05 22:54:30