我正在使用下面的代码来调整 ios7 的框架
if(!AppDelegate.IsIOS6orBelow)
this.EdgesForExtendedLayout = UIRectEdge.None;
但它在 ios6 中给出了编译时错误,我知道它是 ios7 中的新属性,但是 ios6 的解决方案是什么?(其他开发人员正在使用旧版本的 xcode)
我正在使用下面的代码来调整 ios7 的框架
if(!AppDelegate.IsIOS6orBelow)
this.EdgesForExtendedLayout = UIRectEdge.None;
但它在 ios6 中给出了编译时错误,我知道它是 ios7 中的新属性,但是 ios6 的解决方案是什么?(其他开发人员正在使用旧版本的 xcode)
C# 编译器不知道您所针对的 iOS 版本。IOW 如果您收到编译时错误,那么:
您的来源有问题;
您引用的版本monotouch.dll
没有您想要的功能(例如,在 Xamarin.iOS 7.0 之前,您不会获得新的 iOS7 API);
注意:您可能希望在问题中添加更多来源和确切错误。
如果您希望您的代码引用 iOS7 API 但仍编译到 iOS6 monotouch.dll
,则必须将该代码包装在预处理器指令中。
#if IOS7
this.EdgesForExtendedLayout = UIRectEdge.None;
#endif
并且您必须在项目属性中定义 IOS7。
如果你不这样做,它将在编译时失败。