2014-02-06 4 views
0

Я пытаюсь взломать графическую библиотеку (https://github.com/KirillM/BarChart), которая, к сожалению, не предлагает метод clearChart. Поэтому вместо этого я собираюсь превратить все в белые пиксели, если это возможно.Как взломать подзаголовок?

Я знаю, что вы можете установить флаг для вида, который будет перезагружен:

[self.myView setNeedsDisplay];

Это почти там, но я бы в идеале не хочу копаться в библиотеке: Clear UIView of drawing?

+0

Вы можете попробовать удалить все подвидов: '[[yourView подвиды] makeObjectsPerformSelector: @selector (removeFromSuperview) ]; '. Выдержка из вопроса: http://stackoverflow.com/questions/2156015/remove-all-subviews – Milo

ответ

0

Я нашел удаление всех подвидов внутри модуля гистограмм сделал трюк: Remove all subviews?

[[plotView subviews] makeObjectsPerformSelector:@selector(removeFromSuperview)]; 
1

Вид «очищен» каждый раз, когда он обращается - вид существенно стертой -drawRect: называется, и метод -drawRect: рисует все, что представляет собой представление. Если вы хотите, чтобы диаграмма рисовала что-то отличное от того, что там, вам, вероятно, придется изменить данные, которые вы им даете.

Это поможет, если вы скажете , какую библиотеку вы используете, но можно было бы ожидать какого-то метода для установки данных, которые рисует диаграмма. Попробуйте вызвать этот метод с нулевой версией того, что ожидает график - возможно, это пустой массив, nil или что-то в этом роде.

+0

хорошие идеи наверняка. Я пробовал nil-стратегию без успеха. Я использую https://github.com/KirillM/BarChart – tarabyte

+0

* cough *, только если никто не установил 'cleararsContextBeforeDrawing' на' NO'; если установлено, содержимое контекста будет неопределенным после 'drawRect:', учитывая, что 'UIView' может выгружать содержимое во время предупреждений о низкой памяти и т. д. – Tommy

Смежные вопросы