需要根据加载的页面禁用(或隐藏) UIWebView 中的栏按钮

发布于 2024-11-07 19:19:57 字数 332 浏览 0 评论 0原文

我的 iOS 应用程序的一部分有一个 UIWebView,底部有一个按钮栏并加载本地 index.html 文件。栏上的 2 个按钮是“返回”和“完成”。 index.html 文件是下载的(因此也是本地的)html 迷你应用程序的列表,这些迷你应用程序被加载到同一个 web 视图中。由于这些迷你应用程序存在一些必需的导航问题,webview 的“后退”按钮不是连接到 webView 的 goBack,它实际上是返回到 index.html 的链接按钮。

如果index.html 是网络视图中的活动页面,我需要隐藏或禁用“后退”按钮。我知道如何完全禁用它,但我需要在加载迷你应用程序时启用它才能返回列表。有什么建议吗?非常感谢!

Part of my iOS app has a UIWebView that has a button bar on the bottom and loads a local index.html file. The 2 buttons on the bar are 'back' and 'done'. The index.html file is a list of downloaded (hence also local) html mini-apps which are loaded into that same webview. Because of some required navigation issues with those mini-apps the webview's 'back' button is not a goBack connected to the webView, it's really a link button back to the index.html.

I need that 'back' button to be hidden or disabled if index.html is the active page in the webview. I know how to disable it entirely, but I need it enabled when mini-apps are loaded to get back to the list. Any suggestions? Many thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蓝天 2024-11-14 19:19:57

您可以实现一个 UIWebView 的委托协议:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {

然后您可以执行以下操作:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
    NSString *currentURL = [[request URL] absoluteString];
if ([currentURL isEqualToString:@"index.html"]) {
//hide the bar button item
//something like: [button setHidden:YES];
}

else {
//something like: [button setHidden:NO];

}
return YES;
}

You can implement one UIWebView's delegate protocols:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {

Then you could do something like this:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
    NSString *currentURL = [[request URL] absoluteString];
if ([currentURL isEqualToString:@"index.html"]) {
//hide the bar button item
//something like: [button setHidden:YES];
}

else {
//something like: [button setHidden:NO];

}
return YES;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文