首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    UITabbarController 偶现启动crash问题分析

    报错内容如下: NSException -[UITabBarController setSelectedViewController:] only a view controller in the tab...该问题在灰度有出现过,一位同事在排查过程中,发现另外一个类似问题是在UITabBarController的 _viewControllerForTabBarItem:方法出现异常,这个问题量级并不大,场景类似但是没有特别信息帮助定位...多维分析 由于crash出现在系统的UITabBarController类,无法调试获取更多信息,逆向排查周期太长。这里可以通过Slardar的信息,结合日志和业务场景逐步缩小排查范围。...首先通过crash场景,我们猜测是在用户新用户冷启才会遇到,这里通过回捞日志和crash的pv/uv相比可以确定; 其次通过排查新用户冷启场景的特有逻辑,关注点放在新版本相关的代码和实验改动,发现在底...这里写了一个复用的模拟代码: - (void)testAnotherTabbarVC { UITabBarController *anotherTabbarVC = [UITabBarController

    1K40

    玩转iOS转场动画 原

    presentingController:(UIViewController *)presenting sourceController:(UIViewController *)source; //这个函数用来设置当执行dismiss...interactionControllerForPresentation:(id )animator; //这个函数用来设置当执行dismiss...[transitionContext completeTransition:YES]; }]; } 上面我们实现了一个简单的自定义转场动画,将present动画修改成了从右侧滑入,但是dismiss...下面我们来分析下transitionContext这个对象,这个对象实际上是一个转场上下文,使用它来进行动画的定义和执行: //容器视图 用来表现动画 @property(nonatomic, readonly...四、UITabBarController的转场动画     UITabbar也可以进行转场动画的自定义,需要设置UITabBarController的delegate并实现协议中的如下两个函数: //设置非交互的转场动画

    1.9K51

    iOS开发中标签控制器的使用——UITabBarController

    iOS开发中标签控制器的使用——UITabBarController 一、引言         与导航控制器相类似,标签控制器也是用于管理视图控制器的一个UI控件,在其内部封装了一个标签栏,与导航不同的是...二、创建一个标签控制器         通过如下的步骤,我们可以很简便的创建一个TabBarController: UITabBarController * tabBar= [[UITabBarController...三、UITabBarController的属性和方法 //管理的viewController数组 @property(nullable, nonatomic,copy) NSArray和方法 设置标签: @property(nullable,nonatomic,copy) NSArray *items;   //设置选中的标签    ...初始化方法: //通过标题和图案进行创建 - (instancetype)initWithTitle:(nullable NSString *)title image:(nullable UIImage

    2.5K20

    iOS 组件化-路由解耦思想 JLRoutes 实战篇(一)App内控制器跳转

    VC 跳转 Router 能做的事情很多, 首先我们用它来解决棘手的控制器耦合关系,是一种非常有效的解决方案; 在 App 中控制器跳转普遍分为 3 种, 模态跳转Modal(presented/dismiss...代码阅读性提高: 当然在刚刚接触时, 看着会不大不习惯, 等接触一段时间之后, 不仅减少了代码行数, 同时可读性还是很高的, 跟 push/pop, present/dismiss 说再见吧; 3....NSInteger index = [parameters[@"index"] integerValue]; // 处理 UITabBarControllerIndex 切换; UITabBarController...* tabBarVC = (UITabBarController* )[UIViewController jsd_rootViewController]; if ([tabBarVC isKindOfClass...:[UITabBarController class]] && index >= 0 && tabBarVC.viewControllers.count >= index) {

    2K20
    领券