浏览代码

Merge pull request #955 from deltachat/dark_mode_change

switch chat bubble background color on dark/light mode change
cyBerta 4 年之前
父节点
当前提交
1810be34aa
共有 1 个文件被更改,包括 11 次插入2 次删除
  1. 11 2
      deltachat-ios/Chat/Views/BackgroundContainer.swift

+ 11 - 2
deltachat-ios/Chat/Views/BackgroundContainer.swift

@@ -1,5 +1,3 @@
-
-
 import Foundation
 import Foundation
 import UIKit
 import UIKit
 import DcCore
 import DcCore
@@ -7,9 +5,11 @@ import DcCore
 class BackgroundContainer: UIImageView {
 class BackgroundContainer: UIImageView {
 
 
     var rectCorners: UIRectCorner?
     var rectCorners: UIRectCorner?
+    var color: UIColor?
 
 
     func update(rectCorners: UIRectCorner, color: UIColor) {
     func update(rectCorners: UIRectCorner, color: UIColor) {
         self.rectCorners = rectCorners
         self.rectCorners = rectCorners
+        self.color = color
         image = UIImage(color: color)
         image = UIImage(color: color)
         setNeedsLayout()
         setNeedsLayout()
         layoutIfNeeded()
         layoutIfNeeded()
@@ -33,6 +33,15 @@ class BackgroundContainer: UIImageView {
     func prepareForReuse() {
     func prepareForReuse() {
         layer.mask = nil
         layer.mask = nil
         image = nil
         image = nil
+        rectCorners = nil
+        color = nil
+    }
+
+    override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
+        super.traitCollectionDidChange(previousTraitCollection)
+        if let rectCorners = self.rectCorners, let color = self.color {
+            update(rectCorners: rectCorners, color: color)
+        }
     }
     }
 
 
 }
 }