UI & AutoLayout布局
1. SafeAreaLayoutGuides iOS9+不崩溃,但是只有在iOS11+才有效果,8-10应该用top/botLayoutGuides
2. ViewController中[self setAutomaticallyAdjustsScrollViewInsets:NO];如果不起作用,试下在上层controller中设置(如NavigationController或TabBarController)【存疑待验证】
3. NavigationController和TabBarController可以互相嵌套,但NavigationController不能直接push NavigationController。
4. UITableView增加UITapGestureRecognizer时,会阻挡tableView的didSelectRowAtIndexPath方法。设置:tapGesture.cancelsTouchesInView = NO; 可以让手势同时生效。
5. UITableView使用UITableViewAutomaticDimension时,必须要设置tableView.estimatedRowHeight不为0。
6. UITableView为group类型时,header、footer的height设置为0时为默认高度(不为0),若不想显示应设置为CGFLOAT_MIN(最新用CGFloat.leastNormalMagnitude)。
iOS13可以直接设置为0或者最小值都可,但还需要在viewForFooterInSection代理中返回nil才行。
7.UIView-Encapsulated-Layout-Height 约束警告:UITableView设置了自适应高度时,UITableViewCell在取出重用时会有已经计算好的高度缓存,此时如果手动改变其中的约束高度(比如根据不同状态来设定高度),会打印出约束冲突的警告,虽不影响显示结果,但若要去掉警告,可以把需要手动调整的约束优先级从1000改为999,这样在计算时约束时不冲突,且cell高度也会重新计算。感觉像是iOS的bug。
动画
1. 在动画过程中,受影响下的view(view有属性进行变化且userInteractionEnabled=YES),默认会阻断响应手势和按钮事件。可通过配置开启响应:https://blog.csdn.net/hou_manager/article/details/78813201
发布
权限:InfoPlist.strings设置了各个权限的各语言描述之后,也需要info.plist中设置才行,否则上传检查会有错误。
符号表
打包(Archive)后,Show in Finder,然后右键显示包内容,dSYMs/<AppName>.app.dSYM
查看文件uuid:xcrun dwarfdump --uuid <dSYM文件>
根据uuid查找:mdfind "com_apple_xcode_dsym_uuids == <uuid>"
网友评论