Как программно вызвать распознавание жестов касанием UIView
Я хочу получить кран gesture
распознаватель прилагается к UIView
и вызвать его программно. Я успешно нашел способ найти распознаватель жестов UIView
, Но сейчас я не знаю, как вызвать это программно. Я работаю над приложением crawler
, Так что, если у меня есть исходный код ViewController, мой сканер начнет сканирование, чтобы найти все subviews
из ViewController
, Также гусеничный найдет gesture
прикреплен к subviews
, И триггер gesture
,
Примечание: я знаю, как прикрепить распознаватель жестов к UIView
и вызвать его. Но в моем случае я хотел автоматизировать процесс нажатия приложения. Просто подумайте, как я хочу во время выполнения найти распознаватель жестов UIView
и вызвать его.
3 ответа
Я решил это, создав поддельные штрихи. Запуск жеста был невозможен, так как жесты не выставляют свои действия и селектор. А как у меня UIView
на котором я хочу нажать. Я могу создать поддельное прикосновение к этому UIView
, Это поддельное прикосновение автоматически вызовет жест касания. Эта ссылка была очень полезна для этого.
Вы не можете, потому что жест не выставляет свою цель и действие. Вам нужно либо создать подкласс, который это сделал, либо использовать какой-то частный API для доступа к этим значениям, чтобы вы могли их использовать. Если вы создаете что-то общее, тогда опция подкласса в любом случае не годится, но в более широком смысле не все работает с жестами, поэтому ваше решение неполно.
Я думаю, что большинство инструментов тестирования используют интерфейс специальных возможностей, чтобы находить интерактивные представления и программно нажимать на них.
Брат techcraze вообще жест говорит
Жесты - это на самом деле прикосновения и движения одного или нескольких пальцев, которые происходят в определенной области экрана, где существует интересующий вид
Когда дело доходит до устройства распознавания жестов
UITapGestureRecognizer: этот класс относится к жестам касания, сделанным в представлении. Он может использоваться для обработки одного или нескольких нажатий одним или несколькими пальцами. Нажатие является одним из самых обычных жестов, которые делают пользователи.
без помощи пальцев ты не сможешь обойтись автоматически, брат.
Так что наш код идет с
- (void)viewDidLoad
{
UITapGestureRecognizer *tapgesture =[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapView:)];
tapgesture.numberOfTouchesRequired=1;
[self.view addGestureRecognizer:tapgesture];
}
-(void)tapView:(UITapGestureRecognizer *)gesture
{
NSLog(@"The taped tag view is - %ld",gesture.view.tag);
}