xamarin ios 执行旧文件

xamarin ios executes old file

这是一个很难解释的错误,所以如果有什么不清楚的地方,我会尝试更新你的问题。

我正在用 xamarin 为 ios 制作应用程序,一周前,我不得不完全更改视图 (.xib),但我不想丢失它,所以我将文件重命名为SomeFile_OLD.xib,然后添加了一个名为 SomeFile 的新视图控制器,所以它为我创建了 SomeFile.xib。

奇怪的是,今天我需要对该文件进行更改,令我惊讶的是,没有进行任何更改,假设我将按钮的背景颜色更改为红色。

浪费了很多时间后,删除了所有文件(_OLD 和新文件)并添加了一个同名但按钮背景为红色的新文件。

它在半小时内有效,此后,当我执行应用程序(在设备或模拟器中)时,它再次显示 _Old 文件,但我删除了它!

这是怎么回事,最重要的是,我如何解决它?现在我无法更改视图,因为我所做的任何更改都不会在执行时反映出来,如果我再次打开文件,我仍然会看到更改,因此文件会更改,但在执行时,它会向我显示一个文件一周前...

我尝试了删除、重启、清除和重新编译...

没主意了。

以某种方式解决,完全不优雅,我绝对不希望它成为最终解决方案,所以我不会为了找到其他更好的答案而接受这个答案。

我刚刚复制了 .xib 文件(再次...)并将其命名为 SomeView_2,然后在 SomeView.cs:

public override void ViewDidLoad(){
    base.ViewDidLoad();
    var arr = NSBundle.MainBundle.LoadNib("SomeView_2", this, null);
    var vu = Runtime.GetNSObject(arr.ValueAt(0)) as UiView;
    this.View = vu;
}

就像我说的,这解决了我的问题,我 post 把它放在这里以防将来对某人有帮助,但我不喜欢它,因为我不知道这会如何影响我的奥特莱斯,举个例子。

如果我在视图中添加一个 Outlet,是否必须将它添加到另一个视图才能工作?我不喜欢这个,但是,就目前而言,这是我拥有的最好的。

编辑:

创意来源:

http://developer.xamarin.com/recipes/ios/general/templates/using_the_ios_view_xib_template/