0
我在其中一个程序中使用shouldStartLoadWithRequest
非常成功,但整个项目是一个概念证明和肮脏,我重新开始一个新项目。webView shouldStartLoadWithRequest在一个程序中工作,但无法在另一个程序中工作
但是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
{
...
有什么不对?
感谢
我有类似的问题,我已经设置委托和方法webViewDidFinishLoad和webViewDidStartLoad被称为但是shouldStartLoadWithRequest没有按当我点击一个链接时不会打电话? – Bear
如果你正在调用'webViewDidStartLoad'和'webViewDidFinishLoad',那么你应该**也调用'webView:shouldStartLoadWithRequest:navigationType:'。仔细检查你的委托方法实现是否正确定义(' - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType') – gschandler
这是问题,尽管我的方法被错误地定义从定义复制。我没有想到它可能是如此简单。欢呼声 – Bear