Xamarin 故事板中的自定义 UIView

Custom UIView in Xamarin Storyboard

有谁知道我们是否可以在 Xamarin 的 storyboards 中设计我们的自定义 UIViews?我想将 autolayoutsize classes 用于我需要开发的自定义视图。我对 Xcode 不太满意,因为我非常喜欢 Xamarin 的 IB。因此,我宁愿在 Xamarin storyboards 中设计它,也不愿使用 XIB 文件。我知道我们可以在故事板中制作原型 UITableViewCells,但这不是我想要的。我想要一个独立的自定义 UIView,带有我可以重复使用的代码隐藏 class。

我有点不明白你在问什么。

您想在 Xamarin Designer 中设计 XIB 吗?

目前,这是不可能的,因为故事板的 XML 和 XIB 的 XML 完全不同。但看起来 Xamarin 正在考虑支持它,因为它在 UserVoice here 上。所以你可以投票给它并希望它被添加进来。

另一种选择是开始使用 Xcode。

我找到方法了。但这是一种 hack,会增加包的大小,因此是一种内存效率低下的方式。首先添加一个 View Controller 到 storyboard 并给一个 class 名称来创建一个代码 behind,比如说 "DummyViewController"。然后将 UIView 拖到 DummyViewController 并在 "properties" 窗格中提供 "class" 名称作为自定义视图的名称,如图所示。

将在项目文件夹中创建此视图的代码隐藏,MyCustomView 继承自 UIView。现在我们可以使用自动布局和大小 类 从 XS 故事板中设计视图,而无需单独的 XIB 文件。

除非您真的希望这样做,否则我不推荐这样做。希望 Xamarin 能尽快提出在 XS 中设计自定义视图的解决方案。