iOS 解决侧滑返回到一半取消时,导航栏出现三个蓝色小点的问题

热门标签

特别声明:文章多为网络转载,资源使用一般不提供任何帮助,特殊资源除外,如有侵权请联系!

问题描述:

从一个没有左右按钮,只有自定义的titleView的界面A向右侧滑返回上一级页面B时,在向右侧滑过程中,滑动到一半放弃滑动返回时,页面A的左侧按钮正下方或标题正下方会多出几个小点。

1、解决方法一:

self.navigationController.navigationBar.topItem.title = @"";
self.navigationController.navigationBar.backItem.title = @“";

这种方法会导致侧滑返回后,上一级的页面B的title也跟着消失了。

2、解决方法二:

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [self.navigationController setNavigationBarHidden:YES animated:animated];
}
- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
    [self.navigationController setNavigationBarHidden:NO animated:animated];
}

进入页面A时隐藏导航栏,页面A消失时显示导航栏,这种方法会导致侧滑返回失效。

3、解决方法三:

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    self.navigationController.interactivePopGestureRecognizer.enabled = NO;
}
- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
    self.navigationController.interactivePopGestureRecognizer.enabled = YES;
}

这种方法是禁用了该页面A的滑动返回
这种方法没有解决实际问题,只是避免了问题的发生。
继续研究,这个方法只能作为备选

4、解决方法四

    self.navigationController.navigationBar.tintColor = [UIColor colorWithHexValue:0xf6f8fb];

设置导航栏的tintColor和背景色一致,这样即使多出三个点也看不出来。
这个方法会导致导航栏中的搜索框的光标也跟着变色,因此还需要多一步设置将搜索框的光标颜色设置为自己想要的颜色。
这个方法,也没有从根本上解决问题,但是在不影响原有功能的基础上比较好的避免了问题。

标签:

未经允许不得转载:作者:SheaYang, 转载或复制请以 超链接形式 并注明出处 技术狗|博客
原文地址:《iOS 解决侧滑返回到一半取消时,导航栏出现三个蓝色小点的问题》 发布于2019-10-08

分享到:
赞(0)

评论 抢沙发

6 + 5 =


iOS 解决侧滑返回到一半取消时,导航栏出现三个蓝色小点的问题

长按图片转发给朋友

Vieu4.0主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录