Числа для меток осей не локализуются должным образом. Когда я меняю настройку региона на что-то вроде Нидерландов, цифры по-прежнему отображаются с форматированием региона США. Точка используется в качестве десятичного разделителя, а запятая используется для разделения тысяч. Как заставить Shinobi использовать NSNumberFormatter для меток делений?
Как локализовать метки номеров осей для Shinobi iOS SDK?
Ответы (2)
Объекты SChartAxis
имеют свойство labelFormatter
типа SChartTickLabelFormatter
. Этот объект используется для представления средств форматирования для осей как числа, так и даты и времени. Вы можете установить свойства formatter
свойства labelFormatter
, чтобы настроить метки соответствующим образом.
Свойства numberFormatter
и dateFormatter
позволяют получить доступ к готовым версиям свойства formatter
:
Например, для SChartNumberAxis
вы можете использовать следующую строку, чтобы использовать текстовую форму чисел (например, «пять» вместо «5»):
[_chart.xAxis.labelFormatter.numberFormatter
setNumberStyle:NSNumberFormatterSpellOutStyle];
Если вы хотите установить формат SChartDateAxis
вместо SChartNumberAxis
, используйте labelFormatter.dateFormatter
, чтобы вернуть NSDateFormatter
, который вы можете настроить по своему усмотрению.
Для локализации дат используйте:
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"yourLocale"];
[_chart.xAxis.labelFormatter.dateFormatter setLocale:locale];