gpt4 book ai didi

iOS 在新的 WebView 中打开 WebView href

转载 作者:行者123 更新时间:2023-11-29 03:13:59 29 4
gpt4 key购买 nike

我正在构建一个 iOS 应用程序,它使用 SWRevealViewController 来显示滑出式菜单。

在我的滑出菜单中,我有一个包含一些链接的 WebView。当用户单击链接时,我希望 SWRevealViewController 滑回(我可以很容易地做到这一点),并且 URL 在 MainViewController WebView 中打开(对我来说不太容易)。

如果可能的话,我想确保 SWRevealViewController 中的 URL 根本没有改变。刚刚开始在 MainViewController 中打开 URL 的操作。

我怎样才能做到这一点?

最佳答案

  1. 将 UIWebViewDelegate 添加为 View Controller 实现的协议(protocol)。
  2. 将自己设置为 UIWebView 的委托(delegate)
  3. 将方法 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 添加到您的 View Controller 。
  4. 从此方法返回 NO(除非它用于初始页面加载)并捕获要在另一个 View Controller 中导航到的 URL。

在你的标题中添加 UIWebViewDelegate 协议(protocol)

@interface MyViewController : UIViewController <UIWebViewDelegate>

在您的 viewDidLoad 中设置委托(delegate)(假设您有一个 WebView 的 @property,并且 IBOutlet 设置为 UIWebView)

self.webView.delegate = self;

然后添加加载请求的委托(delegate)方法。

- (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;
}

关于iOS 在新的 WebView 中打开 WebView href,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21889233/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com