问题标签 [ibplugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
11892 浏览

objective-c - 如何在 InterfaceBuilder 中显示自定义 UIView?

我似乎喜欢设计新的UIViewsUIControls实现自己的-drawRect:方法。这对我来说效果很好,尤其是在使用UIViewsInterface Builder组合时。

但是在 Interface Builder 中组合它们很烦人,因为它们只是显示为无聊的普通矩形。

如果视图真的像内置控件那样呈现自己,那就太好了。

有什么方法可以构建我的项目,以便 Interface Builder 呈现我的自定义视图?

0 投票
4 回答
5679 浏览

cocoa - 绑定自定义 NSView:是否需要创建 IBPlugin?

我创建了一个 NSView 的子类来将图像绘制为模式:

我实现了以下内容来公开绑定:

不幸的是,图像绑定没有显示在 Interface Builder 中。

我真的必须创建一个 IBPlugin 才能在 Interface Builder 中公开绑定吗?对于我不打算重用的自定义视图来说,这似乎有点过头了。

0 投票
2 回答
519 浏览

cocoa - IBPlugin 和框架路径

当 IB 找不到框架时,IBCocoaSimulator 会崩溃,我假设您也会发生这种情况。当我手动将我的 framework+ibplugin 从构建目录复制到/Users/username/Library/Frameworks. 我正在使用 Finder 执行此操作,这不是最佳的,但可以。

我一直在寻找一种更智能的方式,并且我一直在研究的每个解决方案(BWToolkit、BGHUDAppKit、KTUIKit)都以不同的方式做事。一种解决方案运行 sudo 脚本,将其复制到系统范围内/Library/Frameworks。另一套@loader_path和另一用途@executable_path。我对它们中的任何一个都没有运气,并且由于差异很大,很难看到这种模式。

我很困惑。

你如何配置你的 IBPlugin,以便你可以将它嵌入到你的应用程序中?


更新 1:

是的,解决了它,在阅读了dribin 关于如何使用 @rpath 的博客文章后,我想出了如何让它与我的 IBPlugins 一起工作。因此不再需要使用 Finder 进行复制。

我所做的是:

  1. 对于 MySmallFramework 设置Installation Directory@rpath
  2. 对于 MySmallPlugin 设置Runpath Search Paths@loader_path/../Frameworks
  3. 对于 MySmallApp 设置Runpath Search Paths@loader_path/../Frameworks

好的。

0 投票
1 回答
119 浏览

interface-builder - 如何在 Interface Builder Plugin (IBPlugin) 中创建绑定视图

我正在尝试使属性具有绑定检查器视图,就像文本字段具有它的值一样。如果您想启用绑定,则使用具有复选框切换的所有非视图项目的组合。

我知道如何用插座和动作制作一个 IBPlugin,但我不知道如何在笔尖中获得一个带有可用对象的弹出按钮......

是否有 IB 工具来设置这种类型的视图,或者您是否需要使用 BOOL enableBindings 属性、要绑定到属性的对象、键路径等手动创建整个事物......

0 投票
1 回答
159 浏览

cocoa - IBPlugin:在从 IB 库中拖动时添加其他对象

我有一个列表视图类,就像 NSCollectionView 一样,需要一个额外的原型项目和一个原型视图才能使用。在 Interface Builder 中从库中删除 NSCollectionView 时,会自动创建这两个帮助项。但是我找不到一个处理这个用例的官方苹果文档(描述它是如何完成的)。

然而,通过 Apple Dev Guides 挖掘,我可以找到“ ibDidAddToDesignableDocument :”。
使用以下代码,我设法从库中创建了我的辅助项目:

不过……</p>

…<strong>IB仅在从库中实际初始拖动时为 NSCollectionView 添加这些辅助项目,而不是在任何其他“ibDidAddToDesignableDocument:”调用中,例如在嵌入、复制或复制项目时。(虽然我的方法会,而且总而言之)

这让我想知道 Apple 是否真的为此使用了“ibDidAddToDesignableDocument:”,以及我是否完全在正确的轨道上。

如何正确地模仿这一点?我很难区分“ibDidAddToDesignableDocument:”的不同上下文。有人成功做到这一点吗?
不幸的是,谷歌、谷歌代码、GitHub 或文档都没有透露任何有用的信息,所以我在这里迫切需要帮助。:(

提前致谢!

编辑:哦,太好了,这个问题刚刚给我带来了风滚草徽章,耶!不是。
实际上我更喜欢有用的答案,但无论如何谢谢;)

0 投票
1 回答
110 浏览

objective-c - Interface Builder Plugin Image 检查器加载时的属性问题


我创建了一个显示图像的自定义 NSView。
我在 Inspector 视图中创建了一个绑定到文件所有者的属性。

在运行时图像更改中一切正常。但是当我保存和加载 xib 文件时没有加载任何内容。

这是简化的代码:

[document documentImageNamed:aImage]运行时返回一个 NSImage,但是从文件加载时它返回nil

尽管 NSImageWell 在运行时和从编码器初始化时工作正常。

我错过了什么?

比。

0 投票
1 回答
377 浏览

cocoa - Cocoa 绑定和自定义 NSCell 属性

我对子类 NSCell(复选框单元)有疑问。我希望他们在复选标记旁边有一个标题和一个副标题(所以我为这些创建了 NSString 属性)。它们的值应通过 Bindings 设置(来自 IB 会很棒)但问题来了:

IB 只允许我设置单元格的“值”,在我的情况下是复选标记状态的 BOOL。

什么类必须绑定到提供数据的 NSArrayController?似乎细胞本身不能绑定到任何东西并做类似的事情

也不行。我必须在何时何地进行绑定?

最好的,斯特凡

0 投票
1 回答
602 浏览

interface-builder - 从 xib 中删除 ibplugin

如何从 .xib 文件中删除所有 ibplugins 痕迹?在我的大约 20 个 .xib 文件中,我的 Xcode3 项目有大约 10 个自定义 ibplugins 使用了很多地方。我重新编写了这段代码,使其不再依赖于 ibplugins 或绑定,因此它现在可以在 Xcode4 中编译。

但是 Xcode4 仍然抱怨在我的 .xib 文件中有原始 ibplugins 的痕迹。

我已从 Interace Builder 的首选项中删除了 ibplugins,并重新保存了所有 .xib 文件。我已经删除了构建 .ibplugin 的目标。我已经删除了所有用于 .ibplugin 的源文件。我已经干净了。我的 Xcode4 安装在与我的 Xcode3 机器完全不同的机器上,因此它的首选项中不可能有 ibplugins 的剩余部分。我也尝试过使用 Xcode4 重新保存所有 .xib 文件,因此所有 .xib 文件现在都使用文档版本:默认版本(Interface Builder 4.2)。

我还没有尝试过的一件事是使用 Xcode4 从头开始​​重新创建所有 .xib 文件。

任何想法如何删除 .ibplugins 的所有痕迹?