Хорошая стратегия для создания гистограммы с функциональностью touch-to-view-value? - PullRequest
1 голос
/ 08 мая 2011

Я хочу создать диаграмму в виде гистограммы.У меня уже есть компонент диаграммы, мне просто нужно адаптировать его к гистограмме.При прикосновении к одному из столбцов значение уменьшается в маленьком представлении.

Как я вижу, здесь можно применить несколько различных стратегий.Я хочу знать, какую стратегию мне следует использовать?Любая из этих или, возможно, есть другие лучшие идеи ?:

  1. Бар - это UIButton.
  2. Бар - это сенсорный UIImage.
  3. Бар - это UIView.
  4. Бар - это просто нарисованная графика, и мне нужно перекодировать затронутые координаты и сделать некоторые расчеты, чтобы узнать, к какой строке коснулся.Я не верю в эту стратегию, но, возможно, есть причины переосмыслить это, что вы можете предоставить мне ...

Я предполагаю, что UILable - это способ представления связанных данныхс баром?

Заранее спасибо за совет!

Ответы [ 3 ]

0 голосов
/ 08 мая 2011

По моему скромному мнению, и написав много гистограмм (и других диаграмм) ... # 4 на самом деле правильный выбор для исполнения и моих личных предпочтений.Создание виртуального графа в памяти для отображения касаний к столбцам совсем не сложно, поскольку вы просто храните прямоугольники в массивах и проверяете, находятся ли точки внутри этого прямоугольника.

 CGRectContainsPoint(CGRect, CGPoint);

Теперь, сказав, что, если вы хотите добавить анимацию в свой график, что довольно круто ... тогда я мог бы создать UIView, состоящий из нескольких UIViews (по одному для каждого бара,или сегмент бара), таким образом, вы можете анимировать каждый столбец индивидуально без написания собственного цикла анимации.

только мои два цента.

0 голосов
/ 08 мая 2011

Вы проверили Базовый участок ?Это активная и мощная библиотека, которая довольно гибкая и должна отвечать всем вашим потребностям.

0 голосов
/ 08 мая 2011

я думаю, что # 2 и # 3 - это одно и то же, так как вы бы отображали изображение с помощью UIImageView. UIButton - это довольно тонкий слой в UIView, который облегчает обработку событий, но он может делать то, что визуально не нужно (или, может быть, вы делаете?). В любом случае, попробовать эти варианты так просто, что я просто поиграю с ними. Я не вижу конкретной причины для № 4, если ваша общая стратегия не подтолкнет вас в этом направлении, например, возможно, вы начнете делать какой-то рисунок, достаточно богатый / сложный, чтобы создать слишком много видов.

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

...