xamarin ios执行旧文件

xamarin ios执行旧文件,ios,view,xamarin,Ios,View,Xamarin,这是一个非常复杂的bug,所以如果有什么不清楚的地方,我会尝试更新这个问题 我正在用xamarin为ios制作一个应用程序,一周前,我必须完全更改一个视图(.xib),但我不想丢失它,所以我将该文件重命名为SomeFile_OLD.xib,然后添加了一个名为SomeFile的新视图控制器,因此它为我创建了SomeFile.xib 奇怪的是,今天,我需要对那个文件做一个更改,令我惊讶的是,没有更改,让我们假设我将按钮的背景颜色更改为红色 在浪费了大量时间后,删除了所有文件(旧文件和新文件),并添加

这是一个非常复杂的bug,所以如果有什么不清楚的地方,我会尝试更新这个问题

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

奇怪的是,今天,我需要对那个文件做一个更改,令我惊讶的是,没有更改,让我们假设我将按钮的背景颜色更改为红色

在浪费了大量时间后,删除了所有文件(旧文件和新文件),并添加了一个同名但带有红色背景按钮的新文件

它工作了,在半小时内,之后,当我执行应用程序(在设备或模拟器中)时,它再次显示了旧文件,但我删除了它

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

我尝试删除、重新启动、清除并再次编译


没有想法。

以某种方式解决,完全不合法,我明确不希望它成为最终解决方案,因此为了找到其他更好的解决方案,我不会接受这个答案

我刚刚复制了.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;
}
正如我所说,这解决了我的问题,我把它贴在这里,以防将来对别人有所帮助,但我不喜欢它,因为我不知道这会如何影响我的身体,举个例子

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

编辑:

想法的来源:


您已经从设备/模拟器中删除了应用程序?是的,运气不好……请尝试使用“生成-->清理”选项或手动删除bin和obj文件夹来清理您的解决方案。两种方式都可以,运气不好也会导致IDE问题。你在Mac上使用Xamarin Studio吗?