我正在尝试将网址中的图像显示到我的UIWebview中但是图像尺寸太小而无法通过拉伸使其显示而不显示它。因为我无法自动调整图像大小(因为它变得模糊)我正在考虑获取和设置iphone的用户代理价值...但是我无法找到关于它的相关信息,我也不确定它是否会起作用?任何人都知道如何实现它?
答案 0 :(得分:1)
如果您实施了UIWebViewDelegate
课程,则可以使用webView:shouldStartLoadWithRequest:navigationType:
获取请求 - 此时您应该可以操作请求,例如
[request setValue:@"your custom useragent" forHTTPHeaderField:@"User-Agent"];
答案 1 :(得分:0)
要获取用户代理,您可以尝试使用javascript like this或在@cem的答案中,您可以实施webView:shouldStartLoadWithRequest:navigationType:
然后< em>读取传递给UIWebViewDelegate
的请求对象的头字段:
[request valueForHTTPHeaderField:@"User-Agent"];
对于设置,UIWebViewDelegate
方法对我来说对iOS 5不起作用。也许过去确实如此。
对我有用的实际上是为UserAgent
键定义应用程序范围的用户默认值(这不是拼写错误... User 和代理)。
在我的app委托中,我使用了初始化程序,在创建任何UIWebViews
或NSURLRequests
之前设置此值:
+ (void) initialize {
// TODO: put in whatever custom user agent you want here:
NSString* userAgent = @"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.168 Safari/535.19";
NSDictionary* initDefaults = [[NSDictionary alloc] initWithObjectsAndKeys:
userAgent, @"UserAgent",
nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:initDefaults];
}
注意:如果您不使用ARC,请记得在上面的代码段中发布initDefaults
。