大佬教程收集整理的这篇文章主要介绍了iOS8:在外部点击时关闭表单,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一张表单,我想在用户点击表格后面的灰色视图时立即将其解雇.
以前,这似乎可以通过向窗口添加手势识别器,并检查分接位置以查看它是否在当前表单之外;
我还注意到需要转换的点(开关x和y)在横向模式下使用.除此之外,现在它只接收从表单内部发生的手势,在屏幕上任何位置的任何轻击手势触发事件之前.
- (void)viewDidLoad { [super viewDidLoad]; self.recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@SELEctor(handleTapBehind:)]; self.recognizer.numberOfTapsrequired = 1; self.recognizer.cancelsTouchesInView = NO; [self.view.window addGestureRecognizer:self.recognizer]; } - (void)handleTapBehind:(UITapGestureRecognizer *)sender { if (sender.state == UIGestureRecognizerStateEnded) { CGPoint LOCATIOn = [sender LOCATIOnInView:nil]; if (UIInterfaceOrientationIsLandscape([UIApplication sharedApplication].statusBarOrientation) && IOS8) { LOCATIOn = CGPointMake(LOCATIOn.y,LOCATIOn.X); } // if tap outside pincode inputscreen BOOL inView = [self.view poinTinside:[self.view convertPoint:LOCATIOn fromView:self.view.window] withEvent:nil]; if (!inView) { [self.view.window removeGestureRecognizer:sender]; [self dismissviewControllerAnimated:YES completion:nil]; } } }
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer { return YES; } - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { return YES; } - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch { return YES; }
以上是大佬教程为你收集整理的iOS8:在外部点击时关闭表单全部内容,希望文章能够帮你解决iOS8:在外部点击时关闭表单所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。