美文网首页iOS开发中遇到的bug和小技巧汇总
iOS 13点击返回按钮闪退问题的解决办法[UINavigati

iOS 13点击返回按钮闪退问题的解决办法[UINavigati

作者: Sxiaobai | 来源:发表于2019-12-17 22:28 被阅读0次

Assertion failure in -[UINavigationController _popNavigationBar:item:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKitCore/UIKit-3899.13.13/UINavigationController.m:8520

创建UINavigationController的自定义类,然后如下所示添加UINavigationBarDelegate,并将该类分配给UINavigationController

swift

class SJMNavigationController: UINavigationController {

    override func viewDidLoad() {
        super.viewDidLoad()
        self.navigationBar.delegate = self
    }
}

extension SJMNavigationController : UINavigationBarDelegate {
    public func navigationBar(_ navigationBar: UINavigationBar, shouldPop item: UINavigationItem) -> Bool {
        return true
    }
}

oc


@interface SJMNavigationController () <UINavigationBarDelegate>

@end

@implementation SJMNavigationController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    // self.navigationBar.delegate = self;
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

#ifdef __IPHONE_13
- (BOOL)navigationBar:(UINavigationBar *)navigationBar shouldPopItem:(nonnull UINavigationItem *)item {
    return YES;
}
#endif

相关文章

网友评论

    本文标题:iOS 13点击返回按钮闪退问题的解决办法[UINavigati

    本文链接:https://www.haomeiwen.com/subject/uloenctx.html