使用 IOS 8 编辑时键盘间歇性消失

2024-05-04

我遇到过几个案例,测试人员报告说,每当他们开始在我的应用程序中的某些字段中输入内容时,键盘就会消失。我使用模拟器跟踪流程,并在手机上调试时,问题从未发生。然而,当我在不受限制的手机上尝试时,它的发生相当一致。

这是一些相关的代码。所有这些都是为了在用户点击文本字段外部时隐藏键盘。我的 UIViews 是 Touchview 类的子类,它接收所有触摸:

触摸视图.h:

@protocol TouchViewDelegate <NSObject>

-(UIView *) handleTouches:(NSSet *)touches withEvent:(UIEvent *)event inView:(UIView *) view;

@end

@interface TouchView : UIScrollView

@property (nonatomic, strong) id <TouchViewDelegate> touchDelegate;

@end

触摸视图.m:

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
    UIView * touchedView = [super hitTest:point withEvent:event];
    NSSet* touches = [event allTouches];
    [self.touchDelegate handleTouches:touches withEvent:event inView:touchedView];
    return touchedView;

}

我将主视图配置为 Touchview 并将其包含在 viewDidLoad 中:

- (void)viewDidLoad
{
[super viewDidLoad];

HMWTouchView * touchView = (HMWTouchView*) self.view;

touchView.touchDelegate = self;
...
}

这是委托方法的实现:

-(UIView *) handleTouches:(NSSet *)touches withEvent:(UIEvent *)event inView:(UIView *) hitView {

if (![hitView isKindOfClass:[UIButton class]]) {
    [[UIResponder firstResponder] resignFirstResponder];
}
return self.view;
}

这看起来至少是 iOS 8 对点击的响应方式的改变。


iOS 8.0.2 中已修复 不再需要。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 IOS 8 编辑时键盘间歇性消失 的相关文章

随机推荐