我目前正在开发一个epub应用程序。
所以我使用UIWebView来渲染我的epub(html)。 但是,对于动画原因,我想同步加载我的请求。
我该怎么做?
我尝试使用sendSynchronousRequest,但没有成功(我的请求仍然是异步的)。 http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSURLConnection_Class/Reference/Reference.html
答案 0 :(得分:2)
如果您的问题与UIWebView
在呈现HTML时引入的延迟有关,那么您不希望向用户显示空白页面,并且只在大约一秒钟后呈现的页面,唯一的方法是我想出来的是:
最初有UIWebView
隐藏;
定义webViewDidFinishLoad
,以便在触发时,Web视图可见。
如果您将UIWebView
放入正面视图并正确定义其alpha
,则可以通过此方法获得良好的过渡效果。
答案 1 :(得分:0)
同步和异步之间用户体验方面唯一真正的区别在于,在前一种情况下,用户界面会冻结。因此,如果这是您想要的效果,请在启动请求时将所有userInteractionEnabled
属性设置为NO
,并在connectionDidFinishLoading:
完成请求后重新启用它们。
答案 2 :(得分:-2)
我认为您可以将html作为字符串获取:
NSError * error;
NSURL * url = [NSURL URLWithString:@"http://www.yoururl.com"];
NSString * htmlContent = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&error];
加载html:
[webView loadHTMLString:htmlContent baseURL:url];