0

我正在使用带有文本的 UIWebView。当 iPhone 旋转到横向时,文本不会填充现在更宽的 UIWebView 宽度。我正在使用 P(段落)标签,它不应该影响内容填充横向的宽度。纵向可见的换行符在横向中保持不变。在 Interface Builder 中,我没有改变任何东西。在 IB Inspector 中,Web View Size 在 AutoSizing 下有所有实心条,这意味着它应该填充到横向宽度,对吧?

4

4 回答 4

2

这是一个调整虽然不是一件好事,但应该由苹果自己处理

正如您所注意到的,当 WebView 以纵向初始化然后您将其转换为横向时,一切正常。所以..你可以做的是总是用纵向边界初始化你的webview,添加一个在2~3秒后回调的选择器,并根据你的要求设置webview的框架。

现在,当您的 webview 的帧大小根据纵向(例如 320,460)时内容开始加载,因此如果您的代码中有此行,将 webview 转换为横向将自动调整您的 web 视图

[webViewObjet_ setAutoresizingMask:UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight];

下面是代码片段

- (id) initWithFrame:(CGRect)frame
{
    if (self = [super initWithFrame:frame])
    {
        webViewObjet_ = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
        .....
    }
}

- (void) webViewDidStartLoad:(UIWebView *)webView
{
    .....       
    [self performSelector:@selector(chuss) withObject:nil afterDelay:3];
    // call the function chuss after 3 second
}

- (void) chuss
{
    webViewObjet_.frame = CGRectMake(0, 0, self.frame.size.width, self.frame.size.height);
    [webViewObjet setAutoresizingMask:UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight];
}
于 2010-06-21T08:20:06.297 回答
1

现在尝试解决同样的问题,在详细查看了 Apple 的“WhichWayIsUp”-Sample 之后终于做到了。

为了简短起见:

1) 在视图检查器中禁用 |--| 和 <-->

2)`将视图模式从Webview切换到“Aspect Fill”

等等瞧;)

保持共鸣,疯子

于 2009-04-10T21:23:59.220 回答
0

我也有同样的问题。重新加载不起作用,唯一似乎有点帮助的是在代码中添加以下行:

self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth;

(我把它放在 willAnimateFirstHalfOfRotationToInterfaceOrientation 函数中)

它仍然在右侧保留一个小的白色边距,但它比默认值要好得多。注意:你应该在 self.view 而不是 UIWebView 实例上应用这个,那是行不通的。

等待苹果的解决方案。。

彼得

于 2009-03-26T21:01:29.180 回答
0

这听起来很奇怪,但它确实有效:

如果 UIWebView 位于 UINavigationController 中,则一切正常。我遇到了同样的问题,所以我只是将它包装在 UINavigationController 中,问题就消失了。

出于某种原因, UINavigationController 使旋转像魅力一样工作。

于 2010-07-30T21:37:53.043 回答