我想在iOS网络视图(目标C)的每个页面上创建自定义后退按钮。谁能建议我如何实施。 提前致谢 我是iOS Web视图的新手,这就是为什么我直接发布我想要的代码:
#import "ViewController.h"
@interface ViewController () <UIWebViewDelegate>
@end
@implementation ViewController{
__weak IBOutlet UIImageView *logoImage;
}
- (void)viewDidLoad {
[super viewDidLoad];
self.webView.delegate = self;
NSString *urlString = @"https://www.anything.com";
NSURL *url = [NSURL URLWithString:urlString];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:requestObj];
self.webView.hidden = YES;
if ([_webView canGoBack]) {
[_webView goBack];
}}
- (void)webViewDidStartLoad:(UIWebView *)webView {
}
- (void)webViewDidFinishLoad:(UIWebView *)webView {
self.webView.hidden = NO;
logoImage.hidden = YES;
}
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {
NSLog(@"%@", error);
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
我正在传递网站的URL,我想在应用程序的每一页上显示一个后退按钮,以便用户可以转到上一页。我还有一个问题,就是每当我最小化我的应用程序并从最近的应用程序中打开它时,它都会重新启动,而我希望它可以从同一屏幕上恢复。
答案 0 :(得分:0)
对于UIWebView
,请检查方法- (void)goBack;
。
对于WKWebView
,请检查方法- (WKNavigation *)goBack;
和- (WKNavigation *)goBack:(id)sender;
。
更新
// init the back button
[btnBack addTarget:self action:@selector(backButtonTapped:) forControlEvents:UIControlEventTouchUpInside];
- (void)backButtonTapped:(id)sender
{
[self.webview goBack];
}
假设您已在完整代码中设置了webview和“后退”按钮(在导航栏中或其他位置)。
当当前(选项卡)页面具有历史记录列表且当前页面URL不是第一个 时,浏览器可以返回。 / p>
确保您确实要在goBack
中使用viewDidLoad
,就像您在https://www.anything.com
中所做的那样,它需要一些时间才能完成指定的目标页面(loadRequest
)的加载。浏览器。
webview的方法goBack
是异步的,它将url请求推送到webview并立即返回。
将Webview的https://www.anything.com
方法绑定到您的自定义后退按钮,就像上面的代码片段一样。
尝试单击初始页面(goBack
)中的示例链接,一旦完成新页面的加载,就可以[self.webview canGoBack]
满足backButtonTapped
的要求。 / p>
如果需要,在方法logoImage
的实现中设置一个断点。
将 $user = DB::table('users')->where('email',$email)->first();
或其他不相关的代码问题放在下一个问题中,这使您的问题更加清楚和有用。