问题标签 [nib]
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.
iphone - 使用 .xib 文件提供 iPhone 应用程序的 GUI 会降低性能吗?
我想知道使用 .xib 文件进行 GUI 设计和以编程方式执行此操作之间是否有区别。
由于它是一个编译器,我会假设没有相关的时间损失。
我错了吗?
cocoa - NIB 文件中的动态文本标签
我创建了一个 nib 文件,并希望在其上显示动态文本消息,例如选择的文件名或选择的文件数量等。有没有办法做到这一点?
我知道这可以用于警报面板,但我希望它在我的自定义工作表上。
谢谢
xcode - XCode:重新排列输出/主窗口
是否可以将位于源编辑器上方的输出/查找窗口移动到底部?
我希望在某个地方可能存在隐藏的偏好,或者可能有人编辑了 nib 文件以进行重新排列。
干杯
iphone - 具有多个视图/子视图的 iphone 应用程序:内存没有被释放
我有一个 iPhone 应用程序,它根据此链接中解释的框架在框架中加载连续视图(基本上是一个使用方法ViewController
加载/删除其他视图的主视图displayView
)。在我的应用程序中,我使用的是笔尖(示例链接使用编码视图),所以我的每个ViewControllers
都有其随附的笔尖。
在 Instruments 中调试显示没有泄漏,但如果我进入/离开一个部分(带有 View.xib 的 ViewController),笔尖仍保留在内存中,因此在一些输入/输出内存开始累积之后。
我知道笔尖没有被卸载,因为一个笔尖几乎是通过编程创建的(IB 中没有东西),而另一个笔尖确实有在 IB 中创建的图像和按钮。首先加载大的,然后加载小的。您会期望在 Instruments 中的分配减少。
我怎样才能防止这种情况?
我的结构如下,下面有一些评论:
此控制器处理子视图加载/删除:
我有尽可能多case
的“细节” ViewControllers
(现在我有 3 个case
,但会增长到 10 个或更多)。这种结构的目的是轻松地从应用程序的一个“部分”移动到另一个(NavBar 控制器或 TabBar 控制器不适合我的特定需求)。
注意NSLog
in dealloc
。这被调用了(我可以在控制台中看到它),但笔尖所需的内存没有被释放(仪器显示离开一个部分时内存分配增加,因为加载了一个新的笔尖)。
任何帮助将不胜感激。我已经尝试了一百万种不同的东西,但我无法卸下笔尖。
iphone - 可以从辅助 NIB 初始化整个 UITableViewController(或子类)......而不仅仅是 UIView?
几乎所有的 UINavigationController 示例都显示了使用 initWithNibName:bundle: 加载不包含整个 UIViewController(或子类)而仅包含 UIView 的 NIB,并将 NIB 的 File's Owner Class 属性设置为 UIViewController(或适当的子类)和它的视图出口指向 UIView。
为什么是这样?为什么不能从辅助 NIB 实例化完整的 UIViewController(特别是 UITableViewController)?为什么还要在 IB 中设置 view outlet?我不明白创建一个空白视图的意义,它无论如何都会被 UITableViewController 完全忽略。
在 MainWindow NIB 中,您可以完成从辅助 NIB 看似无法完成的两件事。您可以设置一个 UINavigationController,然后在其中设置一个 UITableViewController(或子类)。而且你不需要创建一个完全多余的 UIView 对象——这很有帮助,因为 UITableViewController 的重点(我想!)是它使用它的委托方法为你创建和管理一个关联的表视图。
这里发生了什么?我是不是很傻?还有其他方法可以做我想做的事吗?还是有一些合乎逻辑的理由让事情变成这样?
iphone - IB 和 UIView。从笔尖加载视图层次结构的正确方法是什么?
有人可以教我从 nib 文件加载视图层次结构的正确方法吗?我正在使用加载的视图作为模板来删除一系列视图,而我当前使用的方法被巧妙地破坏了。我似乎没有在应该复制或保留的时候复制或保留。以下是相关代码:
这让我头疼一阵子了?
干杯,道格
objective-c - 从笔尖加载时未调用 UIViewController 子类初始化
我尝试覆盖 UIViewController 子类的默认 initWithNibName 指定初始化程序,如下所示:
我还在头文件中包含了它的定义。但是,当我的 Application Delegate nib 加载视图控制器时,不会调用初始化程序,仅调用 -viewDidLoad。
那么 nib 魔法如何实例化我的视图控制器呢?为什么所有 XCode 模板都声明
// 指定的初始化器。如果您以编程方式创建控制器并希望执行不适合 viewDidLoad 的自定义,请覆盖。
当视图控制器从另一个笔尖加载时,我的 initWithNibName 没有被调用是否正确?
iphone - 由 Interface Builder 创建的 UIButton 正在崩溃
我已经缩小了一个丑陋的错误,但由于它看起来像是 nib/Interface Builder 内部的东西,我不知道下一步该做什么。
我在 IB 中创建了一个 UIView,它用作自定义对话框。它显示一条消息和两个按钮。(继续或取消。)这两个按钮都在 Interface Builder 中设置了背景图像。
处理取消按钮的背景图像的方式有问题。使用 NSZombieEnabled,我一直在运行该程序。大多数情况下,以下方法会记录以下内容:
这是完全正常的。然而,有时它会这样做(如果我通过快速点击一些界面按钮来“冲”UI,我可以让它在某种程度上可靠地重复):
如您所见,NSZombieEnabled 发现取消按钮的背景图像已被释放,但正在发送保留消息。(虽然不是我...该图像仅用于此一个按钮,并且仅在 Interface Builder 中访问。我没有任何 IBOutlets 或任何链接到该图像的变量。)
那么,嗯,现在呢?
编辑:
有时,它不是作为僵尸捕获的保留消息,有时是 isKindOfClass:
这是我的自定义 UIViews “showInView” 方法:
谢谢!
iphone - 为什么我的 awakeFromNib 不会触发?
我开始将更多的视图层次结构移至 IB。
我有一个名为“AlignmentViewController.xib”的 nib 文件,我在其中设置了我的视图层次结构,其中 AlignmentViewController 作为文件所有者。这工作正常。
我仍然模糊的方法之一是 awakeFromNib。在 AlignmentViewController 的以下代码片段中,我添加了单个附加方法 awakeFromNib。但是,它不会被调用:
有人可以为我澄清一下我在这里错过了什么吗?
干杯,道格
更新:在阅读了一些答案后,我意识到我需要深入了解一些非常基本的东西。
看初始化:
我注意到我正在间接调用 initWithNibName:bundle:。这是不好的做法吗?AlignmentViewController.xib 文件定义了我的视图层次结构。但我并没有真正以典型的方式使用 initWithNibName:bundle: 吗?有一个更好的方法吗?
iphone - loadNibNamed 中的内存泄漏?
我即将完成我的第一个 iPhone 应用程序,并想通过 Leaks Performance Tool 运行它。在修复了一个明显的问题之后,我只剩下一个带有 Nib 作为通过 loadNibNamed 加载的表头视图的一个(我在此处关注食谱演示)。
然后在dealloc中:
Instruments 告诉我,我泄漏了 256 个字节,其中 2 个泄漏来自带有 loadNibNamed 的行。tableHeaderView 是 Nib 中唯一的顶级对象(我已经在调试器中验证了这一点)。有什么我忘记发布的吗?我是否误解了 Instruments 告诉我的内容?这是错的吗?操作系统稍后会清理它吗?