2012-01-29 8 views
3

私のアプリの一部で(ストーリーボード)さまざまな行のテーブルビューがあり、行を選択するとhtmlファイルが表示されます。代わりに行を選択すると、空白の画面が表示されます。テーブル内の行を選択すると、空の画面に切り替わります

私はtableviewコントローラの後ろに別のView Controllerが必要だと思っていましたが、私は1つでもなくても同じ問題を抱えています。私のテーブルコントローラ.mファイルで

Iは、次のコードを持っている:私は行と空白の画面に変更を選択することを可能にさ

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 

{

articleIndex = indexPath.row; 

WebView *selectedArticle = [[WebView alloc] initWithNibName:nil bundle:nil]; 
[self.navigationController pushViewController:selectedArticle animated:YES]; 
[selectedArticle release]; 

、むしろ関連するHTMLファイルをロードするよりも

次のように私は私のリソースでの.hと.Mファイルをフォルダいる:

webView.h

#import <UIKit/UIKit.h> 
#import "globals.h" 
@interface WebView : UIViewController{ 
NSArray *articleNames; 
IBOutlet UIWebView *webView; 
} 
@property(nonatomic, retain)IBOutlet UIWebView *webView; 
@end 

webView.m

#import "WebView.h" 
@implementation WebView 
@synthesize webView; 
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
if (self) { 
    // Custom initialization 
} 
return self; 
} 

- (void)didReceiveMemoryWarning 
{ 
// Releases the view if it doesn't have a superview. 
[super didReceiveMemoryWarning]; 

// Release any cached data, images, etc that aren't in use. 
} 

#pragma mark - View lifecycle 

- (void)viewDidLoad 
{ 
[super viewDidLoad]; 

articleNames = [[NSArray arrayWithObjects: 
       @"chapter1", 
       @"chapter2", 
       @"chapter3", 
       @"chapter4", 
       @"chapter5", 
       @"chapter6", 
       nil] retain]; 

NSString *chapterName = [[NSString alloc] initWithString:[articleNames objectAtIndex:articleIndex]]; 

NSString *path = [[NSBundle mainBundle] pathForResource:chapterName ofType:@"html"]; 
NSURL *url = [NSURL fileURLWithPath:path]; 
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url]; 
[webView loadRequest:urlRequest]; 

[chapterName release]; 

} 

- (void)viewDidUnload 
{ 
[super viewDidUnload]; 
// Release any retained subviews of the main view. 
// e.g. self.myOutlet = nil; 
} 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
// Return YES for supported orientations 
return YES; 
} 

@end 

私は何を見ることができません私はここで間違って、何かアドバイスをしましたか?私は表示するhtmlファイルを取得する方法や、それを許可するために変更を加える必要があるかどうかはわかりません。私は、プロジェクトからHTMLファイルを削除する場合は、アプリがクラッシュするので、間違いなくそれらがロードされていますが、表示されない何らかの理由で...

答えて

0

まず "articleIndex"はどこにありますか?あなたはtableViewController webView.hまたはwebView.m。私はまずNSLogに追加することをお勧めします

NSURL *url = [NSURL fileURLWithPath:path]; 
NSLog(@"Article URL:%@", url); 

これは、URLが正しいかどうかを最初に確認することができます。次にUIWebViewをインターフェイスビルダで接続したようですので、webViewが正しく接続されていることを確認してください。

NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString: @"http://www.apple.com"]]; 

apple.comが読み込まれているかどうかを確認してください。それがあなたの問題を知っている場合は、あなたのhtmlファイルまたはそれらのパスです。

関連する問題