iOS8:在外部点击时关闭表单

iOS8:在外部点击时关闭表单,第1张

概述我们目前正在使用类似于 here提到的解决方案(参见Ares的回答).这在iOS8中似乎不起作用. 我有一张表单,我想在用户点击表格后面的灰色视图时立即将其解雇. 以前,这似乎可以通过向窗口添加手势识别器,并检查分接位置以查看它是否在当前表单之外; 我还注意到需要转换的点(开关x和y)在横向模式下使用.除此之外,现在它只接收从表单内部发生的手势,在屏幕上任何位置的任何轻击手势触发事件之前. - ( 我们目前正在使用类似于 here提到的解决方案(参见Ares的回答).这在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];        }    }}
解决方法 如您引用的主题中所述,您应该添加UIGestureRecognizerDelegate并实现这些方法:
- (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:在外部点击时关闭表单所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1105462.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存