我正在构建一个使用SWRevealViewController显示滑出菜单的iOS应用程序。
在我的幻灯片菜单中,我有一个包含一些链接的WebView。当用户点击链接时,我希望SWRevealViewController向后滑动(我可以很容易地做到这一点),并且在MainViewController WebView中打开URL(对我来说不是那么容易)。
如果可能的话,我想确保在SWRevealViewController中URL根本不会改变。只需启动操作即可在MainViewController中打开URL。
我怎样才能做到这一点?
答案 0 :(得分:1)
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
添加到视图控制器。在标题中添加UIWebViewDelegate协议
@interface MyViewController : UIViewController <UIWebViewDelegate>
在你的viewDidLoad中设置委托(假设你有一个用于webView的@property,其中IBOutlet设置为UIWebView)
self.webView.delegate = self;
然后添加委托方法以加载请求。
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType
{
NSString* urlStr = [[request URL] absoluteString];
if(request == nil || [urlStr isEqualToString:@"http://YourInitialURL"])
{
return YES;
}
//Use this url to change the other web view in your main view controller
NSURL* url = [request URL];
return NO;
}