2013-03-04 3 views
0

У меня есть метод касаний, но он работает только тогда, когда я нажимаю на некоторые области обзора не везде.Не всегда отбрасывать клавиатуру при касании вне текстового поля

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ 
    [self.view endEditing:YES];// this will do the trick 
} 

Как я могу исправить проблему?

Благодаря

+0

вы можете проверить, если никакие другие виды не перекрывающихся и получать ваши события прикосновения? – vodkhang

+0

У меня есть scrollview, который, вероятно, получает touchhesBegan в других областях зрения. так как я могу это исправить? –

ответ

0

OK, попробуйте ниже проверки кода &:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    UITouch *touch = [touches anyObject]; 
    [touch locationInView:self.view]; 
    [self.view endEditing:YES]; 
} 
0

Попробуйте

- (void)viewDidLoad 
{ 
[super viewDidLoad]; 
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(singleTapGestureCaptured:)]; 
[self.view addGestureRecognizer:singleTap]; 

// Do any additional setup after loading the view, typically from a nib. 
} 
- (void)singleTapGestureCaptured:(UITapGestureRecognizer *)gesture 
{ 
//Get touch point 
CGPoint touchPoint=[gesture locationInView:self.view]; 

//Hide keyBoard 
[self.view endEditing:YES]; 
}