Xamarin在哪里是Id对象

时间:2015-09-09 18:14:04

标签: c# ios objective-c xamarin.ios

我将objective-c代码翻译成Xamarion.iOS。

在objective-c中,我有以下代码。

- (void)keyboardWasShown: (NSNotification*)aNotification
{
  NSDictionary* info = [aNotification userInfo];
  CGSize kbSize = [[info objectForKey:UIKeyboadFrameBeginUserInfoKey] CGRectValue].size;
  . . .
}

问题是info objectForKey返回一个具有CGRectValue方法的Id对象。

但在Xamarin我有......

private void KeyboardWasShown(NSNotification notification)
{
   var info = notification.UserInfo;
   var kbSize = (info.ObjectForKey(UIKit.UIKeyboard.FrameBeginUserInfoKey)).??
 . . .
}

在Xamarin中,NSDictionary返回一个NSObject,但objective-c版本返回一个Id对象。 NSObject没有CGRectValue方法。

我的问题是Xamarin使用Id对象做了什么,以及我应该使用什么类来获取CGRectValue。虽然我错过了一些东西,但我试过去UIView,但这并没有帮助。

我已经尝试使用谷歌搜索,但我只是在iOSDevice Id上获得了大量点击。

修改 我还没有机会测试这个,但我想我找到了一种可能的方法。

var kbSize = ((UIView) info.ObjectForKey(UIKit.UIKeyboard.FrameBeginUserInfoKey)).Frame.Size;

在我有机会测试从该Id返回的对象是否为UIView类型之前,我需要一段时间。

0 个答案:

没有答案