Круговой регулятор интенсивности iPhone / iPad (изображение включено) - PullRequest
5 голосов
/ 08 марта 2012

Я нашел этот интересный интерфейс (запускается через 33 секунды http://vimeo.com/22946428) и хотел бы разработать нечто похожее для моих собственных приложений.Я особенно заинтересован в круговом элементе управления / регуляторе интенсивности , как на прикрепленном изображении. Он очень футуристичен и должен быть довольно простым для реализации с помощью обратного вызова touchesMoved: распознаватель жестов.

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

Я думаю о повороте фонового цветного изображения, но часть его должна быть обрезана илипокрыты чем-то другим, чтобы варьироваться от пустого фона до полного.Возможно, вырезанный элемент (около 1 радиана) может скрывать набор веерообразных сегментов, которые следуют за пальцем и создают иллюзию непрерывно увеличивающегося или уменьшающегося заполнения датчика.Шесть сегментов x, y будут непрерывно анимироваться, располагая их таким образом, чтобы охватить только необходимую часть контроля.

Intensity gauge

Ответы [ 3 ]

8 голосов
/ 08 марта 2012

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

http://www.raywenderlich.com/9864/how-to-create-a-rotating-wheel-control-with-uikit

http://maniacdev.com/2012/02/tutorial-creating-a-one-figure-rotation-gesture-recognizer-for-a-rotary-knob-control-on-ios/

http://maniacdev.com/2011/12/open-source-libraries-for-easily-adding-rotary-knob-controls-in-your-ios-apps/

1 голос
/ 20 июня 2015

Проверьте этот датчик управления: GaugeKit

Это очень настраиваемый, так что вы можете настроить его, установить не закругленные концы и желаемый цвет - и он будет очень похож на размер на вашем изображении!

enter image description here

0 голосов
/ 13 марта 2012

Вот пример кругового представления прогресса. В сочетании с поворотным регулятором одним пальцем он создает датчик, аналогичный запрошенному (просто накладывает 2 элемента управления друг на друга)

Затем свяжите два элемента управления с обратным вызовом вращения:

  - (void) rotation: (CGFloat) angle
{
    // calculate rotation angle
    imageAngle += angle;
    if (imageAngle > 360)
        imageAngle -= 360;
    else if (imageAngle < -360)
        imageAngle += 360;

 progress = imageAngle/360.0;
}

DACircularProgress view + OneFingerRotationGestrureRecognizer

...