我有两个带有图像的图像视图。我希望当我点击第一张图像时,图像应该被选中,如果它被选中,它应该返回值TRUE或1应该保存在sqlite数据库中。如何这是可能的。请任何人帮助我解决这个问题。 感谢
答案 0 :(得分:1)
通过使用UITouch类方法,您将获得触摸的图像视图..或者您可以将imageview放在按钮内,然后您将获得点击事件。
答案 1 :(得分:0)
你使用触摸事件。抓住触摸点并执行你的动作。在这里,我将给你一个样本结构来做到这一点,
-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [[event allTouches] anyObject];
CGPoint location= [touch locationInView:self.view];
if(CGRectContainsPoint(firstImage.frame, location)) {
//set some flag like
selectionFlag=1; }
else if(CGRectContainsPoint(secImage.frame, location)){
selectionFlag=2; }
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [[event allTouches] anyObject];
CGPoint location = [touch locationInView:self.view];
if(CGRectContainsPoint(firstImage.frame, location)) {
if(selectionflag==1) {
//do ur db actions }
}
else if(CGRectContainsPoint(secImage.frame, location)) {
if(selectionflag==2) {
//do ur db actions }
}
selectionflag=0;
}
答案 2 :(得分:0)
首先做
[self.*yourimageViewname* setUserEnteractionEnabled:YES];
BOOL select1,secelect2;
select1=NO;
select2=NO;
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch=[touches anyObject];
CGPoint touchLocation = [touch locationInView:touch.view];
//give the beginning and ending x and y points in condition to check which imageView is taped
if(touchLocation.x>1 && touchLocation.x<116 && touchLocation.y>133 && touchLocation.y<233)
{
select1=YES;
}
else if(touchLocation.x>120 && touchLocation.x<300 && touchLocation.y>133 && touchLocation.y<233)
{
select2=YES;
}
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
}
在boolean变量为true的条件下,您可以保存或者您想要进一步编写应用程序的任何内容。
答案 3 :(得分:0)
使用触摸是一种方式,如下面的答案中所述。如果您只有两个imageview,您还可以尝试在该imageview上方放置两个自定义透明按钮,因此您可以根据为按钮提供的标记轻松了解触摸的图像。
答案 4 :(得分:0)
您还可以创建具有图像的两个按钮(而不是UIImageViews)。它们应该显示大致相同(甚至可以禁用触摸状态等)。并且您可以免费获得UIResponder事件(例如;您可以将操作定位到选择器)。
更新:这里大概是如何(虽然没有打扰配置按钮)。
UIButton *button1 = [UIButton buttonWithType:UIButtonTypeCustom];
[button1 setImage:yourImage forState:UIControlStateNormal];
[button1 addTarget:self action:@selector(buttonTouched:) forControlEvents:UIControlEventTouchUpInside];
// .. now create a second button .. //
触摸后,您的按钮将转到以下方法:
- (void)buttonTouched:(id)sender
{
// .. add your stuff to your database .. //
// .. you can identify your button by sender, or give the button a tag (number) to identify it .. /
}