我已经在一个程序中非常成功地使用了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/

10-12 14:31
查看更多