How to customize the GC SDK Widget UI?
Predefined themes:
The SDK UI comes with two predefined themes: white and black.
ZDTHEMETYPE.WHITE


The default theme will be set as white.
Methods for applying the white theme:
Swift
- ZDThemeManager.setTheme(type: .white)
Objective-C
- [ZDThemeManager setTheme:ZDThemeTypeWhite];
Methods for applying the dark theme:
Swift
- ZDThemeManager.setTheme(type: .dark)
Objective-C
- [ZDThemeManager setTheme:ZDThemeTypeDark];

iOS 13 provides users with the option to set a dark or light theme throughout the system. For iOS 13 and above, you can set the system theme in the GC add-on. In such cases, the add-on will be in the same theme as the rest of the OS.
Swift
- ZDThemeManager.setTheme(type: .system)
Objective-C
- [ZDThemeManager setTheme:ZDThemeTypeSystem];

- ZDThemeType.system is available only for iOS 13 and above.
- By default, the system theme will be applied for iOS 13 and above, and the light theme will be applied for earlier versions.
Customized themes:
You can customize the default light and dark themes to make the SDK look more like your application.
To update the default light theme:
Swift
- ZDThemeManager.updateTheme(theme:<#ZDThemeProtocol#>)
Objective-C
- [ZDThemeManager updateThemeWithTheme:<#ZDThemeProtocol#>];
To update the default dark theme:
Swift
- ZDThemeManager.updateDarkTheme(theme: <#ZDThemeProtocol#>)
Objective-C
- [ZDThemeManager updateDarkThemeWithTheme:<#ZDThemeProtocol#>];
ZDThemeProtocol provides a list of properties, such as primaryTextColor and navigationBarTextColor, for additional color customization. All properties in the protocol are optional. You can create any class conforming to this protocol, implement one or more properties, and pass an object of that class to the updateTheme or updateDarkTheme method. The colors you set in the class will override the default theme.

Updating the SDK's theme is different from setting a theme type. At any point of time, the SDK will be in a dark or light theme, based on the theme type you have set.