Я пытаюсь добавить UIGestureRecognizer в одно из своих представлений. Он не получает никаких прикосновений. Это то, что я сделал:UIGestureRecognizer iOS
@interface SettingsView()<UIGestureRecognizerDelegate>
@property (nonatomic, strong) UIView *menu;
@end
@implementation FRMSettingsView
- (id)initWithSize:(CGPoint)size {
if (self = [super initWithFrame:[[UIScreen mainScreen] bounds]]) {
self.menu = [[UIView alloc]initWithFrame:CGRectMake(-size.x, 0, size.x, size.y)];
self.menu.backgroundColor = [UIColor whiteColor];
self.menu.UserInteractionEnabled = YES;
[self addSubview:self.menu];
UISwipeGestureRecognizer *recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(SwipeRecognizer:)];
recognizer.direction = UISwipeGestureRecognizerDirectionRight;
recognizer.numberOfTouchesRequired = 1;
recognizer.delegate = self;
[self.menu addGestureRecognizer:recognizer];
}
return self;
}
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
NSLog(@"touch");
return YES;
}
- (void) SwipeRecognizer:(UISwipeGestureRecognizer *)sender {
NSLog(@"swipe");
}
У меня нет выхода. Ни для прикосновения, ни для салфетки. Я понятия не имею, что я делаю неправильно. Я рад за любую помощь
Я пробовал свой код с небольшими корректировками, и он работает. Мне кажется, что выглядит странно, кадр вашего взгляда, который будет за пределами экрана. Если он выключен, как вы можете его коснуться? Чтобы проверить, что все работает, мое предложение состоит в том, чтобы изменить цвет фона (например, красный), чтобы вы могли видеть представление, и изменить значение -size.x на 0, чтобы представление отображалось на экране. Более того, странно, что у вас есть @ interface SettingsView, но @ реализация FRMSettingsView. Что такое FRMSettingsView? – Maiaux
Это меню, которое перемещается в окне с анимацией. Но может быть, может быть проблема ... спасибо за этот намек :) Я проверю это – Michael