@@ -59,19 +59,31 @@ public struct SUButton: View {
5959 SULoading ( model: self . model. preferredLoadingVM)
6060 Text ( self . model. title)
6161 case ( false , let uiImage? , . leading) where self . model. title. isEmpty:
62- ButtonImageView ( image: uiImage)
63- . frame ( width: self . model. imageSide, height: self . model. imageSide)
62+ ButtonImageView (
63+ image: uiImage,
64+ tintColor: self . model. foregroundColor. uiColor
65+ )
66+ . frame ( width: self . model. imageSide, height: self . model. imageSide)
6467 case ( false , let uiImage? , . leading) :
65- ButtonImageView ( image: uiImage)
66- . frame ( width: self . model. imageSide, height: self . model. imageSide)
68+ ButtonImageView (
69+ image: uiImage,
70+ tintColor: self . model. foregroundColor. uiColor
71+ )
72+ . frame ( width: self . model. imageSide, height: self . model. imageSide)
6773 Text ( self . model. title)
6874 case ( false , let uiImage? , . trailing) where self . model. title. isEmpty:
69- ButtonImageView ( image: uiImage)
70- . frame ( width: self . model. imageSide, height: self . model. imageSide)
75+ ButtonImageView (
76+ image: uiImage,
77+ tintColor: self . model. foregroundColor. uiColor
78+ )
79+ . frame ( width: self . model. imageSide, height: self . model. imageSide)
7180 case ( false , let uiImage? , . trailing) :
7281 Text ( self . model. title)
73- ButtonImageView ( image: uiImage)
74- . frame ( width: self . model. imageSide, height: self . model. imageSide)
82+ ButtonImageView (
83+ image: uiImage,
84+ tintColor: self . model. foregroundColor. uiColor
85+ )
86+ . frame ( width: self . model. imageSide, height: self . model. imageSide)
7587 case ( false , _, _) :
7688 Text ( self . model. title)
7789 }
@@ -88,16 +100,20 @@ private struct ButtonImageView: UIViewRepresentable {
88100 }
89101
90102 let image : UIImage
103+ let tintColor : UIColor
91104
92105 func makeUIView( context: Context ) -> UIImageView {
93106 let imageView = InternalImageView ( )
94107 imageView. image = self . image
108+ imageView. tintColor = self . tintColor
95109 imageView. contentMode = . scaleAspectFit
110+ imageView. isUserInteractionEnabled = true
96111 return imageView
97112 }
98113
99114 func updateUIView( _ imageView: UIImageView , context: Context ) {
100115 imageView. image = self . image
116+ imageView. tintColor = self . tintColor
101117 }
102118}
103119
0 commit comments