问题标签 [interface-builder]

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 投票
1 回答
1659 浏览

iphone - 看起来不错的默认 UITextfield 字体的更大替代品

在界面生成器中,我在 UITableViewCell 的子类中创建了一个 UITextfield。

默认字体太小了。如果我在界面生成器中让它变得更大,它看起来有点难看。没有那么清晰地呈现。当您编辑联系人时,我想要一种类似于地址簿应用程序中使用的字体。它们的文本比默认值大,显示效果很好。

有人有好的字体/样式/大小吗?我应该在 IB 中设置它对吗?

UITextfield 类声明:@property(nonatomic,retain) UIFont *font; // 默认为零。使用系统字体 12 pt

这是否意味着他们只希望您使用 12 号?

谢谢! 编辑:较大的字体在选择编辑时看起来很清晰,但在不编辑时看起来有点扭曲。在下图中,EC1V 是第一响应者(因此质量很好),而下面的 url 不是第一响应者,质量很差。(缓存的图像?)

替代文字

0 投票
4 回答
1574 浏览

cocoa-touch - 我无法在代码和 Interface Builder 之间建立连接

我对 iPhone SDK 有一个特殊的问题。

我试图在我的开发机器上运行来自不同来源的几个教程。问题似乎总是在于将代码连接到 Interface Builder 中的视图。如果我有一个按钮或数据字段(或其他一些库函数)并且我在viewcontroller.h文件中声明了一些属性,我会通过单击文件启动 Interface Builder.xib并尝试通过从连接查看器中的引用插座拖动来建立连接,然后唯一可能出现的连接(出现在弹出框中的是view)。无论有什么代码可用,都没有其他选项可用。有没有人经历过这个或者我错过了一些明显的东西?

0 投票
14 回答
1242 浏览

iphone - Interface Builder 缓存坏数据 (voodoo)

有时 IB 会保留旧的或坏的参考资料,我似乎无法删除或编辑它们。

编辑我已将此作为一个 wiki 问题,目的是收集有关该现象的更多数据。欢迎回答涉及其他编码人员遇到此问题的情况。

昨晚我用桌子控制器再次发生了这种情况。当我创建一个尖峰项目来尝试重现错误时,系统按我预期的方式工作。然后回到实际项目中,即使我删除了 xib 文件和所有涉及的控制器,不良行为仍在继续。

创建一个没有任何原始(有问题的)xib 和 nib 文件的全新项目可以正常工作。

这个问题不是关于这个事件的细节,而是关于 IB 中的这类事件。

有没有人知道更多关于这种不良 IB 行为的信息,并且可能是一种比破坏项目更时尚的方式来消除它?

请注意,删除有问题的 IB 文件并在同一个项目中重新创建它们在过去对我来说并没有解决这个问题,只有全新的项目。

关于何时/如何观察/创建此故障的示例的答案也是受欢迎的。

0 投票
4 回答
2449 浏览

objective-c - 从多个 XIB 中使用一个 NSArrayController

我在不同 XIB 中定义的两个窗口中显示一个 NSArrayController 的内容时遇到了一些问题。

在我的主窗口中(在 MainMenu.xib 中),我有一个 NSTableView 绑定到 NSArrayController

在我的第二个 XIB 中,我有另一个包含 NSTableView 的窗口。我创建了一个新的 NSArrayController,并将表绑定到该 NSArrayController 的内容。

两个 NSArrayController 都绑定到完全相同的 NSArray。

一开始一切都很好,但问题是如果在主窗口中使用 NSArrayController 将对象添加到数组中,则辅助窗口的数据视图不会更新。这很可能是因为它不知道自己需要更新自己,因为它的 NSArrayController 没有用于添加新对象。

我想做的是在两个窗口中使用完全相同的 NSArrayController 实例。这样,如果将对象添加到数组中,两个视图都将收到更改通知。

问题是我无法弄清楚如何在 Interface Builder 中执行此操作。我无法将 NSArrayController 绑定到另一个 NSArrayController(我收到一个运行时错误,表明它只能绑定到 NSArray)。将 NSArrayController 连接到 File's Owner 的 NSArrayController 成员也无济于事,因为这只会清除我希望它使用的 NSArrayController。

我想我可以自己在代码中设置绑定,但如果可能的话,使用 Interface Builder 似乎会更好。有没有办法在 Interface Builder 中做到这一点,或者可能有更好的方法来一起设置?

更新:针对 Chuck 的回答和评论,我尝试了以下操作: - 将我的 NSTableView 的表格内容绑定到 NSArrayController 成员的排列对象(如果我使用 NSArrayController 本身,日志中出现错误:“[NSArrayController count] : unrecognized selector sent to instance") - 将表中的每一列绑定到文件的所有者,模型键路径为 arrayController.arrangedObjects.propertyName

这仍然没有导致表的内容得到更新。我认为这是因为我绑定到 NSArrayController 的排列对象,而不是绑定到 NSArrayController 本身。但是,如果我直接绑定到 NSArrayController,那会给我带来错误。

通常,我会从“绑定到”组合框中选择我的 NSArrayController,使用排列对象作为控制器键,并将属性本身作为模型键路径。我不确定在这种情况下如何做同样的事情——如果可以的话。

我在上面的过程中做错了吗?

0 投票
1 回答
1691 浏览

cocoa-touch - 为使用 Interface Builder 添加的对象释放内存

我有一种情况,我用一个表和另一个表头视图(包含图像、标签和按钮)构建一个视图。现在我将表格、图像、标签、按钮连接到我的 Controller 类中的变量。-dealloc我应该为使用 Interface Builder 连接的所有变量释放方法中的内存吗?我相信内存是自动为这些变量分配的?

0 投票
1 回答
3091 浏览

cocoa - 在 OS X 上,将 GUI 分成多个 NIB 文件和 NSView 子类

我正在开发一个 OS X/Cocoa 应用程序,我想要这样的行为:

  • 有一个带有不同选项的侧边栏,比如说“选项 A”、“选项 B”和“选项 C”。
  • 当您单击 A、B 或 C 时,它会将相应的 GUI 加载到主窗格中。每个 GUI 都是不同的 NSView 子类,并且在不同的 NIB/XIB 文件中定义。例如,选项 A 可能有 3 个按钮并且是 NSViewSubclassA 的一个实例,而选项 B 可能有 1 个按钮和一个文本字段并且是 NSViewSubclassB 的一个实例。

我将如何进行编程?

0 投票
3 回答
20874 浏览

cocoa - 如何使用 Interface Builder 在可可中添加文件选择器/打开器?

我想知道如何使 Interface Builder 中的按钮或输入字段以这样的方式做出反应,即单击它会打开一个文件对话框并让您选择一个或多个文件并将它们放入指定的数组/表中......

一旦按下按钮并选择文件(这似乎是一件非常微不足道的事情),我想它已经包含某种数组(比如带有所选文件路径的数组)所以我已经涵盖了......我只需要知道如何将按钮链接到文件选择器以及文件选择器以何种方式将文件传递给我(或文件的路径),以便我可以将它们重定向到数组

有没有一种简单的方法可以做到这一点,更重要的是;是否有文件选择器或者我必须使用 XCode 而不是 Interface builder 来执行此操作?

0 投票
2 回答
4487 浏览

cocoa - 通过插座将数组控制器链接到 XCode 中的数组

我正在尝试找到一种将阵列控制器链接到阵列的方法。我知道通过一个插座,我可以在使用 Interface Builder 制作的 .xib 文件中填充文本字段甚至表格视图。

我希望有可能有一个简单的插座(NSArray)并将其放入阵列控制器中。反过来,表格会将其内容字段链接到数组中的内容。这是可能的还是我只是想太多非可可?

现在我在界面构建器中有一个对象引用,它已经通过一对字段和一些动作处理程序传递给按钮。如果我尝试将阵列控制器链接到出口“FilesArray”,我只能将它链接到对象本身,而不是它的出口。

我只是一个初学者,所以我不明白为什么这不可能?

谢谢!

0 投票
1 回答
718 浏览

cocoa - 如何制作一个 NSOutlineView ,其中一些整体是按钮?

我想创建一个 NSOutlineView 子类,其中一些条目看起来像按钮。它看起来像这样:

所有“[添加项目]”都是按钮。

我有一种感觉,这涉及以某种方式使用 outlineView:willDisplayCell:forTableColumn:item: 委托方法?

0 投票
2 回答
216 浏览

ios - 如何将绑定数组划分为自动填充表格的部分?

我使用这个“教程”将我的名为“collection”的数组绑定到我界面上的 NSTableview:http: //www.cocoadev.com/index.pl? NSArrayController

interfacebuilder 的东西并不难。当我尝试将数组中的数据实际显示到视图中时,这变得很困难。

在我的 .h 文件中:

在我的 .m 文件中:

现在我猜这个数组很好地绑定到了接口和里面的tableview,但是tableview和它的列当然需要以特定的方式填充。现在添加项目后没有任何显示。带有集合 addObject:fileName函数

我应该创建一个子数组作为一个项目,填充字段?以及我应该如何将这些值/字段绑定到特定列。(字段为“艺术家”、“标题”等)

我已经将 Interface Builder 中的每一列绑定到Array Controller,其中包含Controller 键arrangeObjects ”和模型键路径artist ”、“ title ”等。

请保持解释简单,因为我慢慢开始认为我永远不会得到这个数组控制器的东西......Objective-C 似乎并不难,但它需要的绑定是我没有得到的。苹果的例子对新手来说是不够的