iOS开发中遇到的问题

2020-12-21  本文已影响0人  紫藤花的魂

一、更换启动闪屏图时候,显示不出来,或者白屏
解决方案:重启手机,我自己试过很多方案只有这一个管用。

二、手机数据连接Mac出现断断续续不停的断开连接
解决方案:先拔掉数据线;打开终端--> 输入sudo killall -STOP -c usbd 回车输入密码就好了;如果没有拔掉数据线并且连着手机,可能会把手机的连接接口也关了,这时就要重启手机了

三、swift中tableview想要置顶,包含手机的状态栏。
一般:

tableV.snp.makeConstraints {
      $0.left.right.top.bottom.equalTo(self.view)
}

只是这样的话,tableV会在状态栏的下面
还必须加上以下代码

if #available(iOS 11.0, *) {
      tv.contentInsetAdjustmentBehavior = .never
} else {
     self.automaticallyAdjustsScrollViewInsets = false
}

四、使用UIBezierPath设置圆角时,有的时候回连整个空间都显示不出来了
解决方法:主动调用setNeedDisplay方法,就可以解决
view.setNeedsDisplay()

五、iOS关闭系统侧滑返回
最接单有效的办法

let obj = self.navigationController?.interactivePopGestureRecognizer?.delegate
let pan = UIPanGestureRecognizer(target: obj, action: nil)
self.view.addGestureRecognizer(pan)

六、iOS 9.0之后设置导航栏颜色
在需要改变状态栏颜色的ViewController中实现以下方便即可

- (UIStatusBarStyle)preferredStatusBarStyle{
    return UIStatusBarStyleLightContent;
}

如果无效,请往下看:
首先查看info.plist文件中有没有设置View controller-based status bar appearance的值为NO,如果设置了请先改为YES
其次查看你的项目框架是否是UINavigationControllerUITabBarController为容器。如果以UINavigationController为容器则在自定义的UINavigationController中实现这个方法

- (UIViewController *)childViewControllerForStatusBarStyle{
    return self.topViewController;
}

如果以UITabBarController为容器则在自定义的UITabBarController中实现这个方法

- (UIViewController *)childViewControllerForStatusBarStyle{
    return self.selectedViewController
}

如果两个容器嵌套使用则需分别实现以上的方法
然后在需要改变状态栏颜色的ViewController中实现以下方便即可

- (UIStatusBarStyle)preferredStatusBarStyle{
    return UIStatusBarStyleLightContent;
}

更好建议或意见的同学可以邮箱联系我哦 1147904687@qq.com

上一篇下一篇

猜你喜欢

热点阅读