iOS开发常见问题

1. 在 ViewController 中添加子视图时,导航栏遮挡添加的子视图

        let bpView = BpView.init(frame: CGRect.init(x: 0, y: 0, width: UIScreen.main.bounds.size.width, height: UIScreen.main.bounds.size.height))
        self.view.addSubview(bpView)

以上代码在 viewDidLoad 添加时视图会被遮挡,解决遮挡问题,我们只需要在 viewDidLoad 开始出添加如下代码即可解决:

self.edgesForExtendedLayout = UIRectEdge.init(rawValue: 0)

 2.iphone X屏幕适配问题

获取状态栏大小
CGRect statusRect = [[UIApplication sharedApplication] statusBarFrame];
获取导航栏大小
CGRect navRect = self.navigationController.navigationBar.frame;

3.在实现模态弹出框的时候,一定要设置ViewController的类型和转换代理,否则弹出时大小不正确

self.connectingAlertController.modalPresentationStyle = UIModalPresentationCustom;
self.connectingAlertController.transitioningDelegate = self;

 4.CocoaPods删除第三方库

  在Podfile里面删除对应库后执行以下命令

  pod install --verbose --no-repo-update

5.在ViewDidLoad中获取到的视图大小不是最终的

    由于存在约束,自动布局,在ViewDidLoad执行时,视图还未准备就绪,所以在此时获取到有关视图大小的数据是不准确的

6.UIScrollView子视图添加约束问题

  有关约束的几个知识点:

    约束包含距离约束、宽高和居中,约束一般都是以内容视图为参考依据,普通的View的frame和内容视图的大小相同,所以在添加约束的时候不会出现问题;而UIScrollView的内容视图是根据子视图的大小计算出来的,所以在添加的子视图的大小要能够确定,不管是直接指定还是根据约束计算出来的

7.代码添加约束

  需要设置视图的 translatesAutoresizingMaskIntoConstraints 为 NO

8.可视化添加UIButton时,type要选择Custom,否则,设置背景图片的时候左上角可能会有色块

9.浮点数处理类:NSDecimalNumber NSDecimalNumberHandler

iOS开发常见问题

上一篇:android为什么不允许新开启一个线程来更新UI,而是用handler来更新界面


下一篇:知识点整理篇(二):Android中的任务栈Task与Activity启动模式的纠缠