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