1

バンドル (サポート ファイル) に保存されている .html ファイル (index.html) を表示しようとしています。

.html ファイルは、HTML というフォルダーにあります。私のコードは次のとおりです。

- (void)viewDidLoad
    {
     [super viewDidLoad];  

  _viewWeb.delegate = self;

    NSString *path = [[NSBundle mainBundle]
                      pathForResource:@"index" ofType:@"html" inDirectory:@"HTML"];
    NSURL *url = [NSURL fileURLWithPath:path];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    [_viewWeb setScalesPageToFit:YES];
    [self.viewWeb loadRequest:request];

    }

私のヘッダーファイルは次のようになります。

@interface D6ViewController : UIViewController <UIWebViewDelegate>


    {

    IBOutlet UIWebView *viewWeb;

    }

@property (weak, nonatomic) IBOutlet UIWebView *viewWeb;

@end

としてプロパティを合成しましたviewWeb = _viewWeb。UIWebView を保持するビューコントローラーは正常に読み込まれますが、Web ページのない白い画面が表示されます。IB にコンセントを設定しました。

何か案は?ありがとう、

4

5 に答える 5

2

相対パスを使用しています (したがって、フォルダーの青色)。この問題に対する答えは、実際にはここで見つけることができますuiwebview以下のローカル html を使用して、相対パスからリソースをロードします。

リソースを xcode プロジェクトにドラッグすると、「追加されたフォルダーのグループを作成する」と「追加されたフォルダーのフォルダー参照を作成する」という 2 つのオプションが表示されます。「フォルダー参照の作成..」オプションを選択します。

以下のコードは機能するはずです。

  NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html" inDirectory:@"/HTML"]];
  [webView loadRequest:[NSURLRequest requestWithURL:url]];
于 2013-07-02T16:10:10.187 に答える
0

HTML ファイルをどのディレクトリにも保存しない場合は、これを使用できます。HTML ファイルを任意のディレクトリに保存する場合は、「inDirectory」パラメータにディレクトリ名を指定します。

NSString *htmlFile = [[NSBundle mainBundle] pathForResource:@"privacy-Policy" ofType:@"html" inDirectory:nil];
NSData *htmlData = [NSData dataWithContentsOfFile:htmlFile];
[_webView loadData:htmlData MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:[NSURL URLWithString:@""]];
于 2016-10-31T11:31:57.450 に答える
0

スウィフトの場合:

func pathForResource(name: String?, ofType ext: String?, inDirectory サブパス: String?) -> String?
- name: Hmtl の名前。
- ofType ext:ファイルの種類の拡張子。この場合は「html」です。
- inDirectory サブパス:ファイルがあるフォルダー。この場合、ファイルはルート フォルダーにあります。

    let path = NSBundle.mainBundle().pathForResource("dados", ofType: "html", inDirectory: "root")
    var requestURL = NSURL(string:path!);
    var request = NSURLRequest(URL:requestURL);

    webView.loadRequest(request)
于 2014-10-05T13:23:01.613 に答える