我希望我的uiwebview最初改变方向时改变gif图像 我正在使用以下代码加载第一张图片:
NSString * url = @"gif image url...";
int width = width of image;
int height = height of image;
NSString * htmlCode = [NSString stringWithFormat:@"<html><head><body leftmargin=\"0\" topmargin=\"0\"><img id=\"gifimg\" src=\"%@\" width=\"%i\" height=\"%i\"></body></html>", url, width,height];
[tmpWebView loadHTMLString:htmlCode baseURL:nil];
我将以下代码放在orientationChanged函数中:
NSString url = @"portrait image url...";
int width = width of portrait image;
int height = height of portrait image;
if (deviceOrientation == UIInterfaceOrientationLandscapeLeft) {
url = @"landscape image url...";
width = width of landscape image;
height = height of landscape image;
}
NSString * jsString = [[NSString alloc] initWithFormat:@"document.getElementsByTagName('img')[0].style.width= '%dpx';document.getElementsByTagName('img')[0].style.height= '%dpx';document.getElementsByTagName('img')[0].src= '%@'", width,height, url];
[webview stringByEvaluatingJavaScriptFromString:jsString];
[jsString release];
[webview setBackgroundColor:[UIColor clearColor]];
[webview setOpaque:NO];
因此图像在第一次显示时工作正常,当我旋转设备时,图像(横向或纵向)出现,但其中一部分被截断。(每次旋转后,图像的一部分被忽略..... ),任何想法?
感谢您的帮助
答案 0 :(得分:0)
那是因为当你加载xib文件中指示的nib文件时,uiimageview很可能放在最后,所以我猜你需要修改框架坐标以显示谁的图像。如果你想测试这个理论,试着在图像的末尾放入一个按钮的xib文件并运行应用程序并旋转设备以在lanscape中显示,如果我的理论是正确的,按钮将不会显示。 我希望这有帮助!祝你好运!
答案 1 :(得分:0)
这就是关于orieitation问题,我想是的。 在这里你应该做像
这样的事情1)每当定向chnages获得该点并识别方向 假设你有肖像然后调用你的方法来设置为肖像模式设置新图像的setUp,反之亦然。
这是我的逻辑,只是仔细看。
在方向变为Chnaged时调用方法下方。这里您只需要允许按照您的要求设置方向,因为您也需要设置横向图像。
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
if(toInterfaceOrientation ==UIInterfaceOrientationPortrait||toInterfaceOrientation==UIInterfaceOrientationMaskPortraitUpsideDown);
{
[self setImagesForPortraitView];
}
else
{
[self setImagesForLandscapeView];
}
//setImagesForPortraitView and setImagesForLandscapeView would be your custom method which setUP the Images for different orientation
//So here as Orientation chnages you can easily set the new image to Webview as you said.
}
注意:这里我只是为您当前的REQ发布此答案我不知道您如何管理方向......
我希望它可以帮到你。