Type Method

textProviderWithFormat:

Creates and returns a text provider built from the specified format string.

Declaration

+ (CLKTextProvider *)textProviderWithFormat:(NSString *)format, ...;

Parameters

format

A format string to use when building the text provider. To insert content from another text provider into the string, use the %@ placeholder. For more information and examples about the placeholders you can use in this string, see Formatting String Objects and String Format Specifiers. This parameter must not be nil.

...

A comma-separated list of arguments to substitute into format.

Return Value

A text provider object built from the specified arguments.

Discussion

Use this method to create a text provider comprising text and the content of other objects, including other text providers.

Set Up Multicolor Text

The Infograph and Infograph Modular faces support multicolor text in some text fields. To create multicolor text, build a composite text provider using two or more text providers with different tint colors.

CLKTextProvider *energyTextProvider = [CLKSimpleTextProvider textProviderWithText:myMoveString];
energyTextProvider.tintColor = myEnergyColor;

CLKTextProvider *exerciseTextProvider = [CLKSimpleTextProvider textProviderWithText:myExerciseString];
exerciseTextProvider.tintColor = myExerciseColor;

CLKTextProvider *standTextProvider = [CLKSimpleTextProvider textProviderWithText:myStandString];
standTextProvider.tintColor = myStandColor;

NSString *separatorString = NSLocalizedString(MY_LOCALIZED_SEPERATOR, @"Seperator for compound data strings.");

CLKTextProvider *multiColorTextProvider = [CLKTextProvider textProviderWithFormat:@"%@%@%@%@%@",
                                           energyTextProvider,
                                           separatorString,
                                           exerciseTextProvider,
                                           separatorString,
                                           standTextProvider];

multiColorTextProvider.tintColor = UIColor.darkTextColor;