我可以在选项卡式应用程序中执行此操作,没问题,但让它在单视图应用程序中工作(使用xib)让我发疯。
我创建了一个新类WebViewController。标题是:
#import <Foundation/Foundation.h>
#import "GHViewController.h"
@interface GHWebViewController : UIViewController <UIWebViewDelegate>
{
IBOutlet UIWebView *webView;
}
@property (nonatomic, retain) UIWebView *webView;
@end
实施是:
#import "GHWebViewController.h"
@implementation GHWebViewController
@synthesize webView = _webView;
-(void)viewDidLoad
{
[super viewDidLoad];
NSString *fullURL=@"http://www.amazon.com/Books-by-Joel-Derfner/lm/RVZNXKV59PL51/ref=cm_lm_byauthor_full";
NSURL *url = [NSURL URLWithString:fullURL];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[webView loadRequest:requestObj];
}
@end
到目前为止,这么好。但是,进入Web视图只是用户可以使用的几个选项(通过栏按钮)。所以我在UIWebView
添加了ViewController
,但隐藏了它,直到用户按下按钮进入网络视图。
这就是我被困住的地方。我已经尝试将其作为其中的代表,并且是另一件事的代表,我不知道什么是对的,什么是错的,IBOutlet
中的WebViewController
将无法连接到我ViewController
中的任何事情都让我越来越困惑。我尝试为WebViewController
添加另一个xib,但这只会导致灾难。我不在这里。
所以我的多部分问题是:
UIWebView
作为几个选项之一?关闭以查看Total Recall。也许那会让我清醒过来......
答案 0 :(得分:1)
我不太确定我是否完全理解你的问题;你的3个问题之前的段落有些令人困惑......
但有些想法:
您不需要界面中的ivar。 ESP。你的ivar声明中不应该有IBOutlet
。如果您需要IBOutlet
,则应该在@property
声明中,而不是您的ivar。
也许你真的不需要IBOutlet
。即你不需要将你的webView放在xib上。 (如果你愿意,你可以,但你不需要。)
所以你可以让IBAction
与一个按钮联系起来。单击该按钮后,您可以alloc init
您的webView(并设置其框架),将其添加到self.view
,然后设置webview.delegate = self
或其他内容。
然后你可以正常处理loadURL
和其他东西。当您再次点击该按钮(或其他按钮)时,只需从视图中删除您的网页浏览。