iOS中键盘的真实类型

iOS中键盘的真实类型_第1张图片
Snip20150812_1.png

从调试工具可以看出,键盘的类型是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);
}

打印结果如下:

Snip20150812_6.png

由此可以得出结论:UITextEffectsWindow是一个UIWindow对象,如有不足敬请指出,谢谢!

你可能感兴趣的:(iOS中键盘的真实类型)