2

iOS 4.3 でのみ発生するこのバグを修正する方法を見つけようとしています。アプリケーションが起動すると、UIWebView に収まるようにスケーリングされた PDF が表示されます。ドキュメントをピンチしてズームし、回転させて黒い領域を残すまでは、完全に動作します。ピンチしてズームしないと、黒い領域から離れません。これが iOS 4.3 のみの問題である理由がわかりません。問題のスクリーンショット: この問題の解決にしばらく取り組んできましたが、ご協力をお願いいたします。ありがとうございました。

ここに画像の説明を入力

.xib 設定のスクリーンショット:

ここに画像の説明を入力 ここに画像の説明を入力 ここに画像の説明を入力

私が使用しているコードは次のとおりです。

.h:

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController
{
   UIWebView *webView;
}

@property (nonatomic) IBOutlet UIWebView *webView;

@end

.m:

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

@synthesize webView;

- (BOOL)shouldAutorotateToInterfaceOrientation:
(UIInterfaceOrientation)interfaceOrientation
{
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
    return YES;
    } else {
    return (interfaceOrientation !=
            UIInterfaceOrientationPortraitUpsideDown);
    }
}

- (void)viewDidLoad
{
    [super viewDidLoad];

    NSString *urlAddress = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"pdf"];

    NSURL *url = [NSURL fileURLWithPath:urlAddress]; NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];

    [webView loadRequest:requestObj];
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
}

@end
4

2 に答える 2

1

過去に UIWebView と回転にいくつかのバグがあったことを思い出します。特に、レンダリングとサイズ変更の問題があったことを覚えています。正直なところ、iOS 4.3 以降で問題なく動作しているのであれば、わざわざ問題を修正しようとする必要さえないと思います。

そうは言っても、このスレッドは問題の解決に役立つかもしれません。

于 2012-10-17T16:20:16.153 に答える
0

iOS6 で動作する場合は、shouldAutorotateToInterfaceOrientation が呼び出されないことが原因である可能性があります。iOS6では回転の扱いが変更されています。たまたまあなたのコードで動作しました。

別の可能な解決策は、webview のデリゲートを使用して、ロードされるまで待機してからビューに追加することです。

于 2012-10-15T04:49:13.817 に答える