美文网首页
iOS 视图 push 时,UI卡死问题

iOS 视图 push 时,UI卡死问题

作者: zwing | 来源:发表于2023-02-06 15:17 被阅读0次
起因:

之前一直没有遇到类似问题,最近遇到项目UI视图经常卡死现象,一直没找到必现条件,后面发现在rootViewController页面触发侧滑返回pop操作,再push就会卡死,定位到是侧滑手势导致的。

分析:

因为我们的navigationController是自定义的,所以系统的侧滑返回手势会被禁掉,项目需要我们执行以下代码,把侧滑手势打开

@implementation DDNavigationController
- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
   __weak typeof(self) weakself = self;
    if ([self respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
        self.interactivePopGestureRecognizer.delegate = (id)weakself;
    }
}
@end

此时,如果我们在rootViewController里面执行侧滑手势,相当于执行了一个pop操作(只是我们没有看到效果),然后接着再去执行push,自然就push不到下一级页面了。

解决方法:

判断当前页面是不是根视图,如果是就禁止掉侧滑返回手势,如果不是就打开,代码如下(在DDNavigationController中实现):

#pragma mark - UIGestureRecognizerDelegate
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer {
    if (gestureRecognizer == self.interactivePopGestureRecognizer) {
        // 屏蔽调用rootViewController的滑动返回手势
        if (self.viewControllers.count < 2 || self.visibleViewController == [self.viewControllers objectAtIndex:0]) {
            return NO;
        }
    }
    return YES;
}

相关文章

  • 使用UINavigationController遇到的坑

    遇到的问题: 频繁跳转页面,偶尔出现界面卡死,不响应任何手势,点击事件 原因: 在视图Push过程中,且Push尚...

  • iOS push界面卡死

    问题重现 自定义了leftBarButtonItem当做返回按钮,但是又需要右划返回于是自己定义了BasicNav...

  • iOS资源汇总

    iOS·Objective-C UI控件详解整理 iOS UI控件详解—「UIScrollView滚动视图」 iO...

  • UI常用的控件

    #iOS开发之UI篇#iOS开发之UI篇 #常用控件介绍1## #UI第09天:滚动视图# ##UIScrollV...

  • iOS 10线程死锁

    今天,项目在iOS 10 上运行遇到线程死锁,后台进前台就死锁,导致ui卡死,在点击授权的alert也会卡死,比如...

  • iOS-自定义视图

    自定义视图 自定义视图:系统标准UI之外,自己组合而出的新的视图。自定义视图的优点:iOS提供了很多UI组件,借助...

  • iOS导航控制器push/pop出现黑色阴影问题

    在使用navigationController的主视图push子视图时出现了黑色阴影,查询了相关的问题与解决方案,...

  • [iOS] 如何定位主线程卡死

    文章 腾讯Bugly巨坑:使用不当造成UI界面卡死 iOS应用UI线程卡顿监控 如何安全使用dispatch_sy...

  • UIView 的介绍

    view:(视图):代表屏幕上的一个矩形区域。iOS中的UIView来表示视图。UI控件都属于view ,iOS中...

  • IOS学习(9)-UITabBarController

    iOS开发UI篇—UITabBarController简单介绍视图之UITabBarController结构详解(...

网友评论

      本文标题:iOS 视图 push 时,UI卡死问题

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