iPhone, Карта, Активируемые по щелчку непрямоугольные области

Как насчет использования шаблона внутри селектора CSS:

[class^=node-] {
    color: red;  
}

Это выбирает все элементы с классом, начинающимся с 'node -'.

6
задан Matt Dawdy 18 May 2009 в 03:38
поделиться

2 ответа

Как определяются эти регионы? Если вы можете получить данные точки, создайте CGPath, используя:

CGPathRef path = CGPathCreateMutable();
CGPathMoveToPoint(path,null,xpoints[0],ypoints[0])
for (int i = 1; i < numpoints; ++i) {
  CGPathAddLineToPoint(path,null,xpoints[i],ypoints[i]);
}
CGPathCloseSubpath(path);

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

if (CGPathContainsPoint(path,null,touchPoint,false)) ...

И не забудьте отпустить, когда закончите с областями:

CGPathRelease(path);

Обратите внимание, что вы можете создать несколько отдельных подпутей в одном CGPathRef, и он будет проверять все подпути, когда вы проверяете наличие локализации.

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

10
ответ дан 8 December 2019 в 13:02
поделиться

Может быть, вам понадобится растровое изображение с цветовой кодировкой для проверки попадания.

У вас будет одно растровое изображение для отображения, но другое растровое изображение с областями с одноцветной кодировкой. Когда пользователь нажимает на карту отображения, вы проверяете, какого цвета этот пиксель на карте проверки попадания, а затем выполняете соответствующее действие.

8
ответ дан 8 December 2019 в 13:02
поделиться
Другие вопросы по тегам:

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