Как создать «горячие точки», которые можно нажимать и запускать события на UIImageView в XCode - PullRequest
1 голос
/ 31 января 2011

У меня есть пользовательский рисунок, который я использую в качестве фона для UIView.На этом изображении есть текст, который я хотел бы создать вокруг горячих точек.Например, кто-то говорит «Далее», а кто-то - «Предыдущий», я хотел бы, чтобы они были активными горячими точками, на которых я могу зафиксировать событие и изменить UITextView с некоторыми данными.До сих пор мне не удавалось найти какую-либо помощь по определению интерактивных областей в UIImageView.Спасибо за помощь!

1 Ответ

2 голосов
/ 31 января 2011

Я бы просто создал невидимые кнопки UIB, которые перекрывали область, на которую вы хотите кликать. В Интерфейсном Разработчике просто создайте кнопку и установите ее тип как пользовательский и не предоставляйте текст или изображения. В коде:

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(120,30,44,44);
[self.view addSubview:button];  //Here you could add it to the UIImageView instead if you wanted to.  Just make sure interaction is not disabled on the image view
button.tag = 1;
[button addTarget:self action:@selector(clickedHotspot:) forControlEvents:UIControlEventTouchUpInside];

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

...