【发布时间】:2010-07-02 01:41:54
【问题描述】:
我构建了一个针对 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,但似乎没有任何效果。
提前致谢
【问题讨论】:
标签: objective-c xcode ios