我在我的一个程序中非常成功地使用shouldStartLoadWithRequest
,但整个项目是一个概念证明和邋and,我正在重新开始一个新项目。
然而shouldStartLoadWithReqest
不再为我调用,但我看不出两个项目之间的重要区别在哪里(但是第一个是使用.nibs,第二个我不是使用它们。)
为了开始,我正在使用一个带有UIWebView的控制器作为其视图:
@interface IMSRootController : UIViewController <UIWebViewDelegate> {
UIWebView* webView;
}
(webView被声明为@property和@synthesized)
- (void)loadView {
[super loadView];
webView = [[UIWebView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
self.view = webView;
[webView release]; }
- (void)viewDidLoad {
[super viewDidLoad];
[[self navigationController] setNavigationBarHidden:YES animated:NO];
[self displayPage]; }
-(void) displayPage { ... [webView loadHTMLString:self.htmlString baseURL:baseURL]; }
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
...
怎么了?
由于
答案 0 :(得分:2)
您的对象未被设置为UIWebView
对象的委托,因此您将不会收到任何委托消息。在某些时候,无论是loadView
还是displayPage
(但在调用loadHTMLString:baseURL:
之前),请执行以下操作:
webView.delegate = self;