Мне нужно обнаружить прикосновение к определенному виду
У меня есть это grayView
это отключает контроллер и делает его неактивным вежливым к предыдущему вопросу, который я задал, но мне нужно определить, grayView
тронут, и если он коснулся, избавиться от grayView
, Если кто-нибудь может помочь мне найти решение, я был бы очень признателен. Я пытался с помощью UITouchedBegan
и многие другие решения для работы со стеком, но каждое из них не сработало. Любая помощь будет оценена.
grayView
является UIView
,
-(void)ViewDidLoad
{
grayView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
grayView.backgroundColor = [UIColor colorWithWhite:0.5 alpha:0.5];
[self.navigationController.view addSubview:grayView];
}
1 ответ
Решение
Вы можете добавить UITapGestureRecognizer
к grayView
и при касании удалите grayView
от superview
,
Вот как бы я это сделал.
//your gray view
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(removeGrayView:)];
tap.numberOfTapsRequired = 1;
[_yourGrayView addGestureRecognizer:tap];
Убедитесь, что вы добавили этот код, прежде чем добавить свой grayView
на ваш superView
Затем,
-(void) removeGrayView: (UITapGestureRecognizer) gesture {
[_yourGrayView removeFromSuperView];
}