我在我的一个程序中非常成功地使用了 shouldStartLoadWithRequest
,但是整个项目只是概念验证而且很邋遢,我正在重新开始一个新项目。
然而 shouldStartLoadWithReqest
不再为我调用,但我看不出这两个项目之间的重要区别在哪里(但是一个区别是第一个是使用 .nibs,在第二个我我不使用它们)。
为了让事情开始,我使用了一个以 UIWebView 作为其 View 的 Controller :
@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
{
...
怎么了?
谢谢
最佳答案
您的对象未被设置为 UIWebView
对象的委托(delegate),因此您不会收到任何委托(delegate)消息。在某些时候,无论是在 loadView
还是在 displayPage
中(但在调用 loadHTMLString:baseURL:
之前),执行以下操作:
webView.delegate = self;
关于ios - webView shouldStartLoadWithRequest 在一个程序中工作,但不能让它在另一个程序中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8352226/