iOS-диаграммы: как рисовать значения под значками ввода данных / точками окружности?

Вот использование киллера для конструктора на месте C ++: выравнивание с линией кэша, а также другие полномочия из двух границ. Вот мой сверхбыстрый алгоритм выравнивания указателя на любую мощность 2-х границ с 5-ти или менее однотактными инструкциями :

/* Quickly aligns the given pointer to a power of two boundary IN BYTES.
@return An aligned pointer of typename T.
@brief Algorithm is a 2's compliment trick that works by masking off
the desired number in 2's compliment and adding them to the
pointer.
@param pointer The pointer to align.
@param boundary_byte_count The boundary byte count that must be an even
power of 2.
@warning Function does not check if the boundary is a power of 2! */
template 
inline T* AlignUp(void* pointer, uintptr_t boundary_byte_count) {
  uintptr_t value = reinterpret_cast(pointer);
  value += (((~value) + 1) & (boundary_byte_count - 1));
  return reinterpret_cast(value);
}

struct Foo { Foo () {} };
char buffer[sizeof (Foo) + 64];
Foo* foo = new (AlignUp (buffer, 64)) Foo ();

Теперь не это просто положил улыбку на твоем лице (:-). I ♥♥♥ C ++ 1x

1
задан spirograph 7 March 2019 в 18:44
поделиться

1 ответ

В настоящее время нет возможности легко изменить положение метки LineChartDataSet, но была предложена такая функция:
[Feature Request] Упростить изменение положения метки, нарисованные над кругами в LineChartView # 2581 .

К сожалению ... этот запрос функции уже давно открыт, поэтому не уверен, что кто-то даже заинтересован в его реализации.
Однако ... если это абсолютно необходимо, вы можете внести изменения в LineChartRenderer.drawValues ​​(context:) .

Здесь он вызывает ChartUtils.drawText(context:text:point:align:attributes:), передавая CGPoint, значение y которого определяет эту позицию.

Вы можете добавить некоторые точки к позиции y, изменив следующую строку:

pt.y - CGFloat(valOffset) - valueFont.lineHeight

на:

pt.y - CGFloat(valOffset) - valueFont.lineHeight + 100

Надеюсь, это поможет каким-то образом но помните, что все изменения будут локальными для вашего проекта, и если вы / кто-либо другой обновите компонент, эти изменения будут потеряны.

0
ответ дан staticVoidMan 7 March 2019 в 18:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: