我正在开发一个针对iOS 3.1.3及以上版本的应用程序,但是我遇到了UIKeyboardBoundsUserInfoKey
的问题。事实证明,在iOS 3.2及更高版本中已被弃用。我的解决方法是使用以下代码根据iOS版本使用正确的键:
if ([[[UIDevice currentDevice] systemVersion] compare:@"3.2" options:NSNumericSearch] != NSOrderedAscending)
[[aNotification.userInfo valueForKey:UIKeyboardFrameEndUserInfoKey] getValue: &keyboardBounds];
else [[aNotification.userInfo valueForKey:UIKeyboardBoundsUserInfoKey] getValue: &keyboardBounds];
这实际上可以正常工作,但是Xcode警告我UIKeyboardBoundsUserInfoKey
已经被弃用。有什么方法可以消除此警告而不必抑制其他警告吗?
另外,是否有一种方法可以简单地检查UIKeyboardBoundsUserInfoKey
是否被定义,以避免必须检查iOS版本?我尝试检查它是否为NULL
或nil
,甚至使用弱链接UIKit,但似乎没有任何效果。
提前感谢。