webView 返回按钮和关闭按钮

.h:

//返回和关闭按钮
@property (nonatomic, weak) UIButton * backItem;
@property (nonatomic, weak) UIButton * closeItem;

.m:

- (void)initG<span style="font-family: Arial, Helvetica, sans-serif;">oBack</span>{
    
    UIView * backView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 100, 44)];
    UIButton * backItem = [[UIButton alloc]initWithFrame:CGRectMake(0, 0, 56, 44)];
    [backItem setImage:[UIImage imageNamed:@"popImage"] forState:UIControlStateNormal];
    [backItem setImageEdgeInsets:UIEdgeInsetsMake(0, -15, 0, 0)];
    [backItem setTitle:@"返回" forState:UIControlStateNormal];
    backItem.titleLabel.font = [UIFont systemFontOfSize:15];
    [backItem setTitleEdgeInsets:UIEdgeInsetsMake(0, -15, 0, 0)];
    [backItem setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
    [backItem addTarget:self action:@selector(clickedBackItem:) forControlEvents:UIControlEventTouchUpInside];
    self.backItem = backItem;
    [backView addSubview:backItem];
    
    UIButton * closeItem = [[UIButton alloc]initWithFrame:CGRectMake(52, 0, 44, 44)];
    [closeItem setTitle:@"关闭" forState:UIControlStateNormal];
    [closeItem setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
    [closeItem addTarget:self action:@selector(clickedCloseItem:) forControlEvents:UIControlEventTouchUpInside];
    closeItem.titleLabel.font = [UIFont systemFontOfSize:15];
    closeItem.hidden = YES;
    self.closeItem = closeItem;
    [backView addSubview:closeItem];
    UIBarButtonItem * leftItemBar = [[UIBarButtonItem alloc]initWithCustomView:backView];
    self.navigationItem.leftBarButtonItem = leftItemBar;
    
}
#pragma mark - 返回
- (void)clickedBackItem:(UIBarButtonItem *)btn{
    UIWebView * webView = [self.view viewWithTag:100];
    if (webView.canGoBack) {
        [webView goBack];
        self.closeItem.hidden = NO;
    }else{
        [self clickedCloseItem:nil];
    }
}
#pragma mark - 关闭
- (void)clickedCloseItem:(UIButton *)btn{
    [self.navigationController popViewControllerAnimated:YES];
}



### 如何在 UniApp WebView 中隐藏左上角返回按钮 #### 方法一:通过 JavaScript API 设置 可以在组件挂载完成后,利用 `this.$scope.$getAppWebview()` 获取当前 Web 视图对象并调用其 `setStyle` 方法来修改样式属性。 ```javascript mounted() { let webView = this.$scope.$getAppWebview(); webView.setStyle({ titleNView: { autoBackButton: false // 关闭自动显示的返回按钮 } }); } ``` 此方式适用于动态调整页面布局需求,在特定条件下即时生效[^1]。 #### 方法二:静态配置 pages.json 文件 对于整个应用内固定不变的需求,则可以直接编辑项目的全局配置文件 `pages.json` 来实现相同效果。针对具体路径下的页面定义个性化风格选项: ```json { "path": "pages/confirmPost/confirmPost", "style": { "navigationBarTitleText": "", "enablePullDownRefresh": false, "navigationStyle": "custom" } } ``` 这里设置了自定义导航条模式 `"navigationStyle": "custom"` 同样可以达到隐藏默认返回箭头的效果[^2]。 当从普通页面跳转至 tabBar 页面或其他普通页面时,如果希望简化逻辑不涉及顶部标题栏定制化处理的话,也可以考虑直接采用 `uni.navigateBack` 函数完成回退操作而无需额外设定顶部区域内容[^3]。 另外需要注意的是,在某些场景下比如 C 页面执行了表单提交等交互行为之后想要一次性回到 A 列表页而不是逐层退回的情况下,可以通过指定参数控制多级回溯: ```javascript uni.navigateBack({ delta: 2 // 返回两层历史记录对应的页面 }); ``` 这种方法能够有效解决由于频繁切换造成的循环往复现象[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值