IOS 开发中遇到的小问题集锦(日常笔记)

1、切换 tabBarController 或者 push 一个controller时,离开 layer 动画所在的 controller 并且动画是执行状态时,回到layer 所在的 controller layer 动画会自动停止。

解决方案:

/* When true, the animation is removed from the render tree once its
     * active duration has passed. Defaults to YES. */

someAnimation.removedOnCompletion = NO;
2、navigationController的rootVC 不能支持滑动返回手势,否则会造成页面freezing。

解决方案:

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidDisappear:animated];
    
    if (self.navigationController.viewControllers.count > 1) {
        [self.navigationController.interactivePopGestureRecognizer setEnabled:YES];
    } else {
        [self.navigationController.interactivePopGestureRecognizer setEnabled:NO];
    }
}
3、代码隐藏Grouped TableView上边多余的间隔
        let contentTB = UITableView(frame:CGRect.zero ,style:UITableViewStyle.grouped)

        // CGFloat.leastNormalMagnitude: The least positive normal number.

        contentTB.tableHeaderView = UIView(frame: CGRect(x: 0, y: 0, width: 0, height: CGFloat.leastNormalMagnitude))

4、tableView.reloadData() 刷新页面跳动 (iOS 11)

1、产生的原因

是在创建TableViewCelll的时候,系统给加了一个默认预估estimatedRowHeight的cell高度== UITableViewAutomaticDimension。

@property (nonatomic) CGFloat estimatedRowHeight NS_AVAILABLE_IOS(7_0); // default is UITableViewAutomaticDimension, set to 0 to disable

默认是UITableViewAutomaticDimension, 当设置这个属性是0的时候,就不会估算cell高度了。
iOS 11以后系统默认开启Self-Sizing,
Self-Sizing官方文档解释:大概是说我们不用再自己去计算cell的高度了,只要设置好这两个属性,约束好布局,系统会自动计算好cell的高度.

2、解决办法

        contentTB.estimatedRowHeight = 0
        contentTB.estimatedSectionHeaderHeight = 0
        contentTB.estimatedSectionFooterHeight = 0
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,045评论 3 119
  • 请问是在swift 3.0 , Xcode 8.0 下,函数内的嵌套函数或者闭包都无法直接捕捉到输入输出参数,是这...
    XIAODAO阅读 1,313评论 0 0
  • 《春咏》 对岸排山万木青 一曲清水绕龙吟 ...
    念她心阅读 3,126评论 0 1
  • 《论语》“晋文公谲而不正”,会让你认识到“谲”。 人看待问题都有自己的片面性,孔圣人也不例外。 类似这样的事儿,《...
    小溪终入海阅读 1,878评论 1 5