当前位置: 首页 > 网络应用技术

iOS暗模式

时间:2023-03-07 00:46:23 网络应用技术

  两年多后,您可以随意切换。这是一个简短的评论。在适应过程中,您肯定会遇到非常痛苦的事情。一个是一个兼容的问题,它会导致很多代码。相同,非属性UI变量需要更新,然后以下是一个简单的解决方案。

  ----案例演示

  为了应对主题的更新,添加了本协议,所有观点都遵循本协议,还添加了与暗模式相关的类型以促进主题更改的判断(您可以切换模式,但是您是您仍然必须这样做。好的API版本兼容判断)

  该协议如下所示,带有属性和方法,视图,控制器等。

  可以获得图案的枚举值,如下所示

  由于主题更改更加相关,因此系统还提供了以下方法供所有人使用(这只是根据主题返回到响应颜色的颜色)

  当主题更新时,协议的回调将调整(每次都会调整两次)

  同时,除了对协议和主题更新的纠正之外,系统还将回电更新布局,重新启动界面和其他操作,如下所示

  如果我们使用布局,则可以用于适应水平和垂直屏幕,通常应该使用很多属性。当时,将自动调整以下方法(并且可以多次调节)。所以

  因此,除了在此处重写我们的信息外,我们还可以适应。我们可以通过不同的颜色显示不同的颜色,也可以显示不同主题的不同主题

  当然,由于布局已更新,他也会回电,因此会有额外的性能消费。这也没有办法。毕竟,适应很方便。

  :适应,但是(每个视图更改都会进行调整,每次必须进行两次,有点冗余),使用相对灵活,更新颜色或内向是方便的

  :如果没有在属性中添加许多布局,则可能需要等待更新主题颜色,并且必须进一步降低性能。

  由于它将引起额外的函数调用,因此我们仅使用与主题相关的函数实现操作

  并继承,因此他还实施了协议,并且也可以是模式,控制代码如下所示

  :由于我们通常不采取主动权,因此我们通过协议的实施并将其交换给我们的自定义类别。主题更新后,我们可以主动拨打我们定义的函数,然后保存视图和回调,在切换主题时更新我们的回调,并添加回调,请主动调用一次,将代码设置为写两次

  实现代码如下所示

  使用以下显示

  :在这里使用非常方便,并且性能有所改善,但尚未解决诸如判断之类的问题。因此,有必要加强版本

  为了解决版本判断的问题,对问题的一个时间解决方案,如下所示,没有更多的介绍

  以上两个自定义方案用作参考。如果建议使用第二个,则仅支持上述版本,则第一个版本更好

  :此外,以上代码有缺点。您是否注意到这是一种新的课程方法,但是该功能可能无法实现。可能会出现一些小问题,这是一个隐藏的危险。如果用户使用Yessub -class,并且重写也将存在无法调整的问题

  :在定义的分类中,最好将其定义为文件。返回我们的功能时,我们可以主动调用该方法(因为实现了实际方法,因此不会有递归现象)。无法称呼它的原因是没有任何消息要发送,但是其中没有方法,因此将报告错误。因此,最好在分类中处理它。否则,必须创建一种新方法,但会显得隐藏的危险,并且不容易找到?

  :不要通过它,您可以将其传递。除了保存外,您还可以直接使用对象进行交换

  :如果您不喜欢该表格,您可以轻松地改变您的爱好的方式

  这里只提供了一个想法,尚未改进(已经解释说,隐藏的危险和想法实际上无法使用几分钟),来改进它(内部实际上是加入的,维修是吗?)

  另外,如果有多个主题或主题解决方案,则可以使用固定的颜色标签。在不同的主题下,可以显示不同的颜色,您可以参考它。它非常令人兴奋吗?

  原始:https://juejin.cn/post/7096153050032652302