我的故事板自定义类属性不再在Xamarin中生成自定义类?

时间:2020-01-12 16:29:46

标签: xcode xamarin.ios storyboard

我正在使用Visual Studio for Mac,并使用Xcode界面构建器在情节提要中设计UI。

我试图创建UILabel的自定义类,通常我只是选择控件并在xcode的class属性中添加我的自定义类名称,并且当xcode与Xamarin同步时,该自定义类将作为新的生成xamarin项目中的文件,但已停止工作。

实际上似乎已经停止了所有同步。我是否可以查看任何日志以查看原因?我已经重新启动了xcode。 Visual Studio for Mac,清理项目,从活动项目中删除bin和obj文件夹,然后重新启动计算机,均未成功。

非常感谢任何提示!

2 个答案:

答案 0 :(得分:1)

我的答案是一种解决方法,而不是真正的答案,因为这对我从未奏效。我一直使用Xamarin iOS Designer创建自定义类,然后在生成文件后关闭xib / storyboard并在Xcode Interface Builder中重新打开。仔细检查[Register(“ ClassName”]``标签。

在iOS Designer中选择标签Select Label in iOS Designer

查看->填充->属性在“类”字段中添加类名称: Custom class entry

应该会在SolutionExplorer中看到自动生成的自定义类: enter image description here

确保.designer.cs文件具有注册标记: enter image description here

现在,您可以在Mac的VS中关闭.xib,然后在Xcode中重新打开。它可能不会自动完成。但是,您创建的所有Outlet都将是自定义类的实例,并且.cs文件中指定的所有自定义属性都将在运行时应用。不像使用Xcode创建自定义类那样方便,但是至少现在您可以通过Xcode Interface Builder使用自定义类。

答案 1 :(得分:1)

我也爱我的XCode!

  1. 照常在Xcode界面构建器中使用标签
  2. 打开文件
  3. 在另一个XCode窗口中找到并打开ABCViewController.h文件。
  4. 按住键盘上的control,在GUI上单击标签,然后将其拖到ABCViewController.h文件中,它会提示您创建插座并命名该类。
  5. 保存并退出,您应该在ABCViewController.designer.cs文件中看到新的属性

更新后肯定有一个新问题,如您所见here as well