0

我正在使用下面的代码来调整 ios7 的框架

if(!AppDelegate.IsIOS6orBelow)
    this.EdgesForExtendedLayout = UIRectEdge.None;

但它在 ios6 中给出了编译时错误,我知道它是 ios7 中的新属性,但是 ios6 的解决方案是什么?(其他开发人员正在使用旧版本的 xcode)

4

2 回答 2

2

C# 编译器不知道您所针对的 iOS 版本。IOW 如果您收到编译时错误,那么:

  • 您的来源有问题;

  • 您引用的版本monotouch.dll没有您想要的功能(例如,在 Xamarin.iOS 7.0 之前,您不会获得新的 iOS7 API);

注意:您可能希望在问题中添加更多来源和确切错误。

于 2013-10-04T13:51:54.450 回答
1

如果您希望您的代码引用 iOS7 API 但仍编译到 iOS6 monotouch.dll,则必须将该代码包装在预处理器指令中。

#if IOS7
    this.EdgesForExtendedLayout = UIRectEdge.None;
#endif

并且您必须在项目属性中定义 IOS7。

如果你不这样做,它将在编译时失败。

于 2013-10-04T18:45:49.227 回答