2014-09-30 72 views
0

我想在iOS中创建一个数字彩虹表。我想根据用户在ios屏幕上触摸彩虹的位置获得用户响应。创建一个彩虹色彩表来获取用户在ios中的颜色和值

数字彩虹仪是VIBGYOR(薄纱,靛蓝,蓝色,绿色,黄色,橙色和红色)梯度图像,即风景图像。如果用户触摸紫色条,我应该能够以文本形式获取颜色。 然后我必须将这些颜色信息传递给MySQL数据库,这部分我使用php web服务完成。

但我无法获得用户在图像上触摸的颜色。请帮忙。

回答

0

如果将屏幕分成七个条,可以通过检查它们的位置来映射每个条边界。然后,如果您覆盖touchesBegan,则可以执行所需的操作。

假设彩虹由水平条组成,该方法的touchesBegan将看起来像这样:

- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ 
    CGPoint touchLocation = [[[event allTouches] anyObject] locationInView:touchView]; 
    if (touchLocation.y < violetDownBorder && touchLocation.y > violetUpBorder) { 
     //Violet detected 
     //... send @"Violet" string to wherever 
    }else if (touchLocation.y < indigoDownBorder && touchLocation.y > indigoUpBorder){ 
     //.... 
     //Complete all colours (cases) here. 
     //.... 
    } 
} 

xxxxDownBorderxxxxUpBorder是以像素的垂直位置,其中XXXX边界放置。

+0

感谢您回复它的工作。 – 2014-10-18 16:15:10

+0

现在需求被改变而不是条带化了,我们想要一个颜色梯度,我们需要一个连续的梯度,然后用最小值和范围映射连续梯度。当用户触摸渐变的任何地方时,我想获取颜色,并根据用户在最大和最小范围之间触摸屏幕的位置触摸彩虹的位置获取值。 – 2014-10-18 16:20:01