从调试工具可以看出,键盘的类型是UITextEffectsWindow
,但是这是苹果的私有类型,不允许我们直接使用和访问,那我们怎么得知键盘的真实类型呢?
其实我们可以用runtime来获取,代码如下
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
//获取UITextEffectsWindow的真实类型
Class class = NSClassFromString(@"UITextEffectsWindow");
//获取父类
Class super1 = class_getSuperclass(class);
Class super2 = class_getSuperclass(super1);
Class super3 = class_getSuperclass(super2);
NSLog(@"%@ %@ %@",super1,super2,super3);
}
打印结果如下:
由此可以得出结论:UITextEffectsWindow是一个UIWindow对象,如有不足敬请指出,谢谢!