我想在iOS中创建一个数字彩虹仪表。我希望根据用户在ios屏幕中触摸彩虹的位置获得用户响应。
数字彩虹仪表是VIBGYOR(虚幻,靛蓝,蓝色,绿色,黄色,橙色和红色)渐变图像,是风景图像。如果用户接触紫罗兰色条带,我应该能够以文本形式获得颜色。 然后我必须将这个颜色信息传递给MySQL数据库,这部分我已经通过使用php web服务完成了。
但我无法获得用户触摸图像的颜色。请帮忙。
答案 0 :(得分: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.
//....
}
}
其中xxxxDownBorder
和xxxxUpBorder
是放置xxxx边框的垂直位置。