Как мы можем проверить, какое изображение в imageview вызывается - PullRequest
1 голос
/ 27 апреля 2011

У меня есть 2 просмотра изображений с изображением в нем. Я хочу, чтобы при нажатии на первое изображение изображение выбиралось, и если оно выбрано, оно возвращало бы мне значение ИСТИНА или 1, которое должно быть сохранено в базе данных sqlite. Как Это возможно. Пожалуйста, кто-нибудь может мне помочь в решении этой проблемы. Спасибо

Ответы [ 5 ]

1 голос
/ 27 апреля 2011

с помощью методов класса UITouch вы получите, к какому виду изображения вы прикоснулись ... или вы можете поместить изображение в кнопку, после чего вы получите событие нажатия.

0 голосов
/ 27 апреля 2011

Что вы также можете сделать, это создать две кнопки (вместо UIImageViews), которые имеют изображения.Они должны отображаться примерно одинаково (вы даже можете отключить сенсорные состояния и т. Д.).И вы получаете события UIResponder бесплатно (например, вы можете нацелить действие на селектор).

ОБНОВЛЕНИЕ: вот примерно так (хотя настройку кнопок не удосужился).1005 * И при нажатии ваша кнопка перейдет к следующему методу:

- (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 .. /
}
0 голосов
/ 27 апреля 2011

сначала сделай

[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
 {
  }

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

0 голосов
/ 27 апреля 2011

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

0 голосов
/ 27 апреля 2011

Вы идете с событиями Touch. Захватите точки касания и выполните ваши действия. Здесь я приведу пример структуры, чтобы сделать это,

-(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; 
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...