首页 > 代码库 > 中文手写输入法在iOS8.1上的崩溃问题
中文手写输入法在iOS8.1上的崩溃问题
在中文手写输入法输入时,会导致app崩溃,在debug时,报错为:
2014-10-22 14:45:10.269 App[524:170755] -[UIKBBlurredKeyView candidateList]: unrecognized selector sent to instance 0x16ff44b0
经过一番折腾,确认是- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event错误使用导致的。
在某个不相关的视图控制器类以前加了下列代码。
@implementation UIScrollView (touch)
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
// If not dragging, send event to next responder
if (!self.dragging) {
[self.nextRespondertouchesBegan:touches withEvent:event];
} else {
[supertouchesEnded:touches withEvent:event];
}
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
// If not dragging, send event to next responder
if (!self.dragging) {
[self.nextRespondertouchesBegan:touches withEvent:event];
} else {
[supertouchesEnded:touches withEvent:event];
}
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
// If not dragging, send event to next responder
if (!self.dragging) {
[self.nextRespondertouchesBegan:touches withEvent:event];
} else {
[supertouchesEnded:touches withEvent:event];
}
}
但是,这里有两个问题。
一,我开始使用xcode6的搜索功能,但没有找到这个代码。因为搜索没有找到这段代码,导致后来的折腾时间延长。
因此,xcode6的搜索功能不可信。
二,这段代码存在于一个不相关的视图控制器类,虽然该类被main.storyboard应用了,但并没有加载,我以为没有应用到全局应用代码里。现在看来不是,一样对整个应用代码生效。
中文手写输入法在iOS8.1上的崩溃问题