Как я могу уволить UIView, который находится над основным контентом? Подумайте об этом как всплывающее окно тура с помощью кнопки закрытия. Вот код, который я использую, но он не работает. Никаких ошибок или предупреждений просто не кажется, что они делают трюк. Есть идеи?UIButton закрывает UIView
- (void) showUserSettings {
UIView *settingsPopover = [[UIView alloc] init];
settingsPopover.frame = CGRectMake(20, 600, 280, 350);
[settingsPopover.layer setBackgroundColor:[UIColor colorWithRed:(241/255.0) green:(241/255.0) blue:(241/255.0) alpha:1].CGColor];
[UIView animateWithDuration:0.35 animations:^{
settingsPopover.frame = CGRectMake(20, 130, 280, 350);
settingsPopover.alpha = 1.0f;
} completion:^(BOOL finished) {
}];
UIButton *closeSettings = [[UIButton alloc] initWithFrame:CGRectMake(245, 0, 35, 40)];
[closeSettings setBackgroundColor:[UIColor colorWithRed:(212/255.0) green:(121/255.0) blue:(146/255.0) alpha:1]];
[closeSettings setTitle:@"X" forState:UIControlStateNormal];
[closeSettings addTarget:self action:@selector(closeSettings) forControlEvents:UIControlEventTouchUpInside];
[settingsPopover addSubview:closeSettings];
[self.view addSubview:settingsPopover];
}
- (void) closeSettings {
[UIView animateWithDuration:0.35 animations:^{
_settingsPopover.frame = CGRectMake(20, 400, 280, 350);
_settingsPopover.alpha = 1.0f;
} completion:^(BOOL finished) {
[_settingsPopover removeFromSuperview];
}];
}
Установите точки останова и убедитесь, что код проходит по мере его создания. – esqew
Вы уверены, что кнопка находится внутри closeSettings? попробуйте изменить цвет фона кнопки, если он находится за пределами настроек настроекPopOver touchEvents не будет работать – Joshua
Кнопка определенно видит touchEvent. Когда я делаю что-то глупое, как добавление другого UIView при нажатии кнопки закрытия, он отлично работает. По какой-то причине я просто не могу заставить его отказаться от UIView. – user3167213