Iphone 带视口的UIWebview横向格式

Iphone 带视口的UIWebview横向格式,iphone,cocoa-touch,uiwebview,Iphone,Cocoa Touch,Uiwebview,我正在使用一个元视口,正如这里提到的UIWebView。这张肖像的格式很好,我不需要补偿奇怪的缩放。然而,一旦旋转到横向,我就不能利用额外的宽度。也就是说,我想把更多的文字放在一行中,以供浏览。所有内容都保持比例为1.0。有没有办法在旋转时将视口的缩放比例更改为.75,在纵向视图中恢复为1.0?我编写了此函数,以在调整UIWebView的大小时设置视口宽度。您可以轻松地对其进行调整,以设置视口属性而不是宽度 -(NSString *) setViewportWidth:(CGFloat)inWi

我正在使用一个元视口,正如这里提到的UIWebView。这张肖像的格式很好,我不需要补偿奇怪的缩放。然而,一旦旋转到横向,我就不能利用额外的宽度。也就是说,我想把更多的文字放在一行中,以供浏览。所有内容都保持比例为1.0。有没有办法在旋转时将视口的缩放比例更改为.75,在纵向视图中恢复为1.0?

我编写了此函数,以在调整UIWebView的大小时设置视口宽度。您可以轻松地对其进行调整,以设置视口属性而不是宽度

-(NSString *) setViewportWidth:(CGFloat)inWidth {
    NSString *result = [_webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"(function ( inWidth ) { "
        "var result = ''; "
        "var viewport = null; "
        "var content = 'width = ' + inWidth; "
        "var document_head = document.getElementsByTagName('head')[0]; "
        "var child = document_head.firstChild; "
        "while ( child ) { "
            "if ( null == viewport && child.nodeType == 1 && child.nodeName == 'META' && child.getAttribute( 'name' ) == 'viewport' ) { "
                "viewport = child; "
                "content = child.getAttribute( 'content' ); "
                "if ( content.search( /width\\s=\\s[^,]+/ ) < 0 ) { "
                    "content = 'width = ' + inWidth + ', ' + content; "
                "} else { "
                    "content = content.replace( /width\\s=\\s[^,]+/ , 'width = ' + inWidth ); "
                "} "
            "} "
            "child = child.nextSibling; "
        "} "
        "if ( null != content ) { "
            "child = document.createElement( 'meta' ); "
            "child.setAttribute( 'name' , 'viewport' ); "
            "child.setAttribute( 'content' , content ); "
            "if ( null == viewport ) { "
                "document_head.appendChild( child ); "
                "result = 'append viewport ' + content; "
            "} else { "
                "document_head.replaceChild( child , viewport ); "
                "result = 'replace viewport ' + content; "
            "} "
        "} "
        "return result; "
    "})( %d )" , (int)inWidth]];

    return result;
}
-(NSString*)setViewportWidth:(CGFloat)inWidth{
NSString*result=[\u webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@](函数(inWidth){”
“var结果=”
“var viewport=null;”
“var content='width='+inWidth;”
“var document_head=document.getElementsByTagName('head')[0];”
“var child=document\u head.firstChild;”
“while(child){”
“如果(null==viewport&&child.nodeType==1&&child.nodeName=='META'&&child.getAttribute('name')=='viewport'){”
“视口=子对象;”
“content=child.getAttribute('content');”
“如果(content.search(/width\\s=\\s[^,]+/)<0){”
“内容='宽度='+宽度+','+内容
“}否则{”
content=content.replace(/width\\s=\\s[^,]+/,'width='+inWidth);“
"} "
"} "
“child=child.nextSibling;”
"} "
“如果(null!=内容){”
“child=document.createElement('meta');”
“child.setAttribute('name','viewport');”
child.setAttribute('content',content);“
“如果(null==视口){”
“文档_head.appendChild(child);”
“结果='附加视口'+内容;”
“}否则{”
文档头.replaceChild(子,视口)
“结果='替换视口'+内容;”
"} "
"} "
“返回结果;”
“})(%d)”,(int)inWidth]];
返回结果;
}

我编写此函数是为了在调整UIWebView的大小时设置视口宽度。您可以轻松地对其进行调整,以设置视口属性而不是宽度

-(NSString *) setViewportWidth:(CGFloat)inWidth {
    NSString *result = [_webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"(function ( inWidth ) { "
        "var result = ''; "
        "var viewport = null; "
        "var content = 'width = ' + inWidth; "
        "var document_head = document.getElementsByTagName('head')[0]; "
        "var child = document_head.firstChild; "
        "while ( child ) { "
            "if ( null == viewport && child.nodeType == 1 && child.nodeName == 'META' && child.getAttribute( 'name' ) == 'viewport' ) { "
                "viewport = child; "
                "content = child.getAttribute( 'content' ); "
                "if ( content.search( /width\\s=\\s[^,]+/ ) < 0 ) { "
                    "content = 'width = ' + inWidth + ', ' + content; "
                "} else { "
                    "content = content.replace( /width\\s=\\s[^,]+/ , 'width = ' + inWidth ); "
                "} "
            "} "
            "child = child.nextSibling; "
        "} "
        "if ( null != content ) { "
            "child = document.createElement( 'meta' ); "
            "child.setAttribute( 'name' , 'viewport' ); "
            "child.setAttribute( 'content' , content ); "
            "if ( null == viewport ) { "
                "document_head.appendChild( child ); "
                "result = 'append viewport ' + content; "
            "} else { "
                "document_head.replaceChild( child , viewport ); "
                "result = 'replace viewport ' + content; "
            "} "
        "} "
        "return result; "
    "})( %d )" , (int)inWidth]];

    return result;
}
-(NSString*)setViewportWidth:(CGFloat)inWidth{
NSString*result=[\u webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@](函数(inWidth){”
“var结果=”
“var viewport=null;”
“var content='width='+inWidth;”
“var document_head=document.getElementsByTagName('head')[0];”
“var child=document\u head.firstChild;”
“while(child){”
“如果(null==viewport&&child.nodeType==1&&child.nodeName=='META'&&child.getAttribute('name')=='viewport'){”
“视口=子对象;”
“content=child.getAttribute('content');”
“如果(content.search(/width\\s=\\s[^,]+/)<0){”
“内容='宽度='+宽度+','+内容
“}否则{”
content=content.replace(/width\\s=\\s[^,]+/,'width='+inWidth);“
"} "
"} "
“child=child.nextSibling;”
"} "
“如果(null!=内容){”
“child=document.createElement('meta');”
“child.setAttribute('name','viewport');”
child.setAttribute('content',content);“
“如果(null==视口){”
“文档_head.appendChild(child);”
“结果='附加视口'+内容;”
“}否则{”
文档头.replaceChild(子,视口)
“结果='替换视口'+内容;”
"} "
"} "
“返回结果;”
“})(%d)”,(int)inWidth]];
返回结果;
}