1

UIWebView があり、それにローカル ファイルをロードします。

  1. ドキュメントがロードされたとき
  2. ピンチジェスチャーをする
  3. その後、UIWebView の幅を大きく設定しました。

結果: これにより、UIWebView の右側に黒い太線のストライプが表示されます。

この問題を解決する方法を知っていますか?

事前に助けてくれてありがとう!

サンプルコードを次に示します。

@interface ViewController () {
    __weak IBOutlet UIWebView *webView;
    CGRect initialFrame;
}
@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    initialFrame = webView.frame;
    webView.scalesPageToFit = YES;
    [webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"chapter7" ofType:@"ppt"]]]];
}

static int c = 1;
- (IBAction)buttonPressed:(id)sender {
    c++;
    if (c % 2 == 0)
    {
        //full screen
        CGRect frame = initialFrame;
        frame.origin.x -= 100;
        frame.size.width += 100;
        [webView setFrame:frame];
    }
    else
    {
        //initial
        [webView setFrame:initialFrame];
    }
}
4

1 に答える 1

0

UIWebView は、フレーム サイズが変更されたときに、増加したスペースでもレンダリングするためにリロードする必要があります。

于 2014-02-17T13:57:56.527 に答える