尝试在 XCodeInterfaceBuilder 中打开 .xib 时出错

Posted

技术标签:

【中文标题】尝试在 XCodeInterfaceBuilder 中打开 .xib 时出错【英文标题】:Error when attempting to open .xib in XCodeInterfaceBuilder 【发布时间】:2011-09-29 14:26:27 【问题描述】:

我下载了Red Laser MonoTouch sample 并在 MonoDevelop 中运行了该项目,我必须首先更新解决方案文件以便它可以在 MonoDevelop 中加载。

当我尝试在 Xcode Interface builder 中查看其中一个 .xib 文件时,我收到错误消息:

更新 Xcode 项目时出错。无法生成插座 “RedLaserSample.RLSampleViewController”类中的“overlayController” 因为它的类型“RedLaserSample.OverlayController”无法解析 到 Obj-C。

详情:

MonoDevelop.MacDev.ObjCIntegration.ObjectiveCGenerationException: 无法在类中生成插座“overlayController” 'RedLaserSample.RLSampleViewController' 作为它的类型 'RedLaserSample.OverlayController' 无法解析为 Obj-C MonoDevelop.MacDev.ObjCIntegration.NSObjectTypeInfo.GenerateObjcType (System.String 目录) [0x001bf] in /private/tmp/source/monodevelop/main/src/addins/MonoDevelop.MacDev/ObjCIntegration/NSObjectTypeInfo.cs:116 在 MonoDevelop.MacDev.XcodeSyncing.XcodeSyncedType.SyncOut (MonoDevelop.MacDev.XcodeSyncing.XcodeSyncContext 上下文)[0x00000] 在 /private/tmp/source/monodevelop/main/src/addins/MonoDevelop.MacDev/XcodeSyncing/XcodeSyncedType.cs:62 在 MonoDevelop.MacDev.XcodeSyncing.XcodeMonitor.UpdateProject (IPProgressMonitor 监视器,System.Collections.Generic.List`1 allItems, MonoDevelop.MacDev.XcodeIntegration.XcodeProject emptyProject) [0x00318] 在 /private/tmp/source/monodevelop/main/src/addins/MonoDevelop.MacDev/XcodeSyncing/XcodeMonitor.cs:138 在 MonoDevelop.MacDev.XcodeSyncing.XcodeProjectTracker.UpdateXcodeProject (IPProgressMonitor 监视器)[0x00000] in /private/tmp/source/monodevelop/main/src/addins/MonoDevelop.MacDev/XcodeSyncing/XcodeProjectTracker.cs:315

【问题讨论】:

【参考方案1】:

您需要将 [Register ("OverlayController")] 添加到您的 OverlayController 类中。

【讨论】:

好像已经在ScanOverlay.xib.designer.cs中注册了【参考方案2】:

如果您的 OverlayController 文件与 RLSampleViewController 位于不同的项目文件夹下,RLSampleViewController 包含对 OverlayController 的引用。确保 RLSampleViewController 和 OverlayController 在同一级别或同一项目文件夹下。我们已经解决了同样的问题,只需将文件直接移动到项目而不是项目文件夹下。

另请参阅Xamarin XIB Code Generation Documentation Page中的注册和命名空间

【讨论】:

以上是关于尝试在 XCodeInterfaceBuilder 中打开 .xib 时出错的主要内容,如果未能解决你的问题,请参考以下文章

编辑情节提要时 Xcode Interface Builder 崩溃

Interface Builder 中的适配是啥

如何在 Xcode Interface Builder 中显示占位符背景?

自动布局 - StackView 删除现有约束

XCode Interface builder缺少视图层次结构

以编程方式创建具有多个标签的 UIView