瀏覽代碼

Prefer new imageWithTintColor API when tinting an UIImage (#5458)

With this change, dynamic colors will be supported when tinting an image and the image color will change on the fly depending on the dynamic provider and traits. This will be especially useful when supporting the new dark mode in iOS 13.
Danilo Bürger 5 年之前
父節點
當前提交
5d751f643a
共有 1 個檔案被更改,包括 5 行新增0 行删除
  1. 5
    0
      lib/ios/UIImage+tint.m

+ 5
- 0
lib/ios/UIImage+tint.m 查看文件

@@ -4,6 +4,11 @@
4 4
 
5 5
 - (UIImage *)withTintColor:(UIColor *)color {
6 6
 	UIImage *newImage = [self imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
7
+#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 130000
8
+	if (@available(iOS 13.0, *)) {
9
+		return [newImage imageWithTintColor:color];
10
+	}
11
+#endif
7 12
 	UIGraphicsBeginImageContextWithOptions(self.size, NO, newImage.scale);
8 13
 	[color set];
9 14
 	[newImage drawInRect:CGRectMake(0, 0, self.size.width, newImage.size.height)];