我已经在一个程序中非常成功地使用了shouldStartLoadWithRequest
,但是整个项目都是概念证明和sc脚,我从一个新项目重新开始。
但是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
{
...
怎么了?
谢谢
最佳答案
您的对象未设置为UIWebView
对象的委托,因此您将不会收到任何委托消息。有时,在loadView
甚至displayPage
中(但在调用loadHTMLString:baseURL:
之前),请执行以下操作:
webView.delegate = self;
关于ios - webView shouldStartLoadWithRequest可在一个程序中工作,但无法在另一个程序中工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8352226/