问题标签 [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.

0 投票
1 回答
363 浏览

iphone-sdk-3.0 - Tab Bar Application,一个不同数据的 UITableViewController

我有一个带有四个标签的标签栏应用程序。每个选项卡加载相同的 UITableViewController。

我想根据点击的选项卡填写表格。

如何?

0 投票
2 回答
996 浏览

iphone - 跨多个 UIViewController 重用 nib

UITableViewCells在 nib 文件中创建了一些自定义,并希望在多个UIViewControllers.

谁能告诉我做到这一点的最佳做法?我在加载 nib 方面的有限知识似乎表明您必须在 Interface Builder 中指定一个所有者类。

谢谢。

0 投票
2 回答
440 浏览

iphone - UITableViewCells loaded from NIB always nil

I'm trying to create a simple form using a UITableViewController as documented in the Apple Developer Documentation here.

What I'm trying to do is located in the section entitled: "The Technique for Static Row Content"

I've created a couple of UITableViewCells and added them to my nib, but when I try and access them to add them to the UITableView (in the cellForRowAtIndexPath: method) they are always null.

It's like they are not being properly loaded from the nib. I've double/triple/quadruple checked my code to make sure I'm doing it exactly as detailed in the docs, but no luck.

Is there something obvious I'm missing here?

0 投票
1 回答
1111 浏览

iphone - 视图控制器可以管理超过 1 个基于 nib 的视图吗?

我有一个 VC 控制具有 2 种模式的内容屏幕;正常模式和编辑模式。

我可以创建一个具有 2 个视图的单个 VC,每个视图都来自不同的 nib?

在 iphone 上的许多情况下,您都有一个控制关联视图的 VC。然后在按下按钮或其他事件时,加载一个新的 VC,它的视图成为顶级视图等。

但在这种情况下,我有 2 种模式要使用同一个 VC,因为它们密切相关。所以我想要一个可以换入/换出 2 个视图的 VC。

按照这里: 如何使用使用 Interface Builder 创建的 nib 文件加载 UIView

我发现我可以从一个 nib 加载一个带有关联视图的 VC,然后再从另一个 nib 加载一个不同的视图,并使这个新视图成为活动视图。

辅助笔尖的插座与主笔尖一样连接到 VC。加载新笔尖后,所有插座都连接良好,一切正常。不幸的是,当这个编辑视图被删除时,似乎没有任何优雅的方法可以让插座从原始笔尖再次连接到(正常模式)视图。笔尖加载和插座设置似乎只有一次。

那么,如果你想要一个 VC 换入/换出 2 个视图而不创建新的 VC,有哪些选择?

1) 你可以用代码做所有事情,但我想使用 nib,因为它使创建 UI 变得更简单。

2)您的 VC 有 1 个笔尖,只需使用 UIView 及其子类的 hidden 属性隐藏/显示元素。

3) 如上所述加载一个新的笔尖。这对新笔尖来说很好,但是当你回到原来的笔尖时,你如何对插座进行排序。

4) 放弃并接受 VC 和 nib 之间的 1:1。正常模式有一个 nib,编辑模式有一个 nib,每种模式都有一个 VC,它是一个公共超类的子类。

最后,我选择了 4) 并且它可以工作,但需要相当多的额外工作,因为我有一个模型类,我在正常模式下实例化然后必须传递到编辑模式 VC,因为两种模式都需要访问该模型。我也在使用 NSTimer 并且必须在每种模式下启动和停止计时器。正是因为所有这些共享功能,我首先想要一个带有 2 个 nib 的单个 VC。

0 投票
2 回答
4364 浏览

objective-c - 使用 [NSBundle loadNibNamed:owner:] 加载 NIB,但窗口未出现在前台

我编写了一个没有持久窗口或标准菜单的菜单应用程序。当另一个应用程序获得焦点并且我使用 menulet 触发要打开的窗口时,它会出现在前台应用程序的后面(但在屏幕上出现的任何其他内容之上)。

基本上...

谁能指出我正确的方向,以便我可以让这个窗口在最初产生时出现在所有其他应用程序之上?

[编辑]

我尝试使用自定义 NSWindowController 并链接窗口,并 awakeFromNib 调用 makekeyandorderfront 方法,但这没有做任何事情。

我现在有而不是 NSBundle 调用:

这产生了窗口,但仍然没有使它在前景中

0 投票
1 回答
474 浏览

iphone - awakeFromNib 和 loadView 为不同的实例执行

我试图理解为什么:

在 awakeFromNib 中打印的值与 viewDidLoad 中的相同 NSLog 不同?

这不是一个大问题,因为我不需要 awakeFromNib,但我想了解它是如何工作的。

创建控制器的代码如下:

感谢您的任何建议!

0 投票
1 回答
546 浏览

iphone - 完全加载的 UIViewController 添加到滚动视图后丢失所有数据

概括

我正在重新利用 Apple 的Page Control项目。在 loadScrollViewWithPage: 中,我添加到滚动视图的视图控制器在屏幕上显示时没有初始化值,就好像直接从笔尖显示一样。

细节

这是我单步执行时似乎正在运行的代码:

// 将控制器的视图添加到滚动视图 if (nil == controller.view.superview) { CGRect frame = scrollView.frame; frame.origin.x = frame.size.width * 页;frame.origin.y = 0; 控制器.view.frame = 框架;[scrollView addSubview:controller.view];//<< 控制器和子视图 } // 都有非空的,看似 // 此时的有效值

下面是 CBFullScreenViewController 中的 init 方法:

虽然过去 2 小时对此进行故障排除帮助我找到了一些不相关的内存泄漏,但我终其一生都无法弄清楚我所考虑的价值观发生了什么变化!

哦,值得一提的是,我的每个网点都有@synthesize,它们都与 IB 挂钩。截图在这里

0 投票
1 回答
397 浏览

objective-c - 如何在 Mac Os X 中向我的可可应用程序的屏幕添加信息

我在开发可可应用程序方面很新。我使用可可开发了一个小型 UI 应用程序。我想在屏幕上添加一些信息,目前它显示应用程序名称和版本,即 1.00。任何人都可以帮助我如何在关于屏幕中添加一些信息,是否可以以编程方式添加信息而不是硬编码?

任何帮助将不胜感激。

0 投票
6 回答
840 浏览

objective-c - 在 Cocoa 中,为什么直到 IBAction 完全执行后才会显示文本字段?

我有一个 IBAction,里面有一些简单的代码:

'textfield' 是 nib 文件中的 NSTextField,而 -'dolengthyaction' 是一个需要大约一分钟才能完成执行的函数。

我的问题是:为什么在执行“dolongyaction”之后才显示文本字段?我希望它在 dolongyaction 开始发生之前被揭露。这是一个固有问题还是我的代码有问题?(或在我的代码的另一部分?)

我仍然不是很擅长编程,所以如果我措辞不好并且格式错误,我深表歉意。

编辑:除了这个 IBAction 和 -dolongyaction 没有什么别的了...

我真正想做的就是在动作运行时显示标签,并在动作完成时隐藏它。

基本上这意味着它现在根本没有显示。

实际上,在 -doLengthyAction 中,它不是 sleep(10),而是一个 NSFileManager 操作,它复制了大约 50 Mb 的材料。代码相当长,但如果你想让我发布它,我可以。我用 sleep() 对其进行了测试,但它也不起作用。

0 投票
1 回答
1246 浏览

iphone - 更改使用 loadNibNamed 实例化的类

我正在尝试使用 iPhone SDK 更改使用 nib 创建的对象类。

原因是;直到运行时我才知道我希望 nib 对象是什么类(尽管它们将具有相同的基于 UIView 的超类),并且我不想为每种可能性创建不同的 nib - 因为 .nib 将是除了一个对象的类别之外,每个对象都相同。

我已经成功了,有几种方法,但要么有一些连锁反应,要么不确定我使用的方法有多安全:

方法1:在超类上覆盖alloc,并将ac变量设置为我需要的类:

这很好用,我认为是“合理”安全的,但如果有一个具有正确类的 nib 作为 Nib 中的类标识,或者我自己分配一个子类(不设置“theClassIWant”) - 一个基类的对象被建造。我也不太喜欢覆盖 alloc 的想法......

方法2:在initWithCoder中使用object_setClass(self,theClassIWant)(在超类调用initWithCoder之前):

  • 这也很有效,但并不是所有的子类都必须与超类的大小相同,所以这可能非常不安全!为了解决这个问题,我尝试在 initWithCoder 中释放并重新分配正确的类型,但我从框架中得到以下错误:

    “此编码器要求从 initWithCoder 返回替换的对象:”

不太明白这意味着什么!我正在替换 initWithCoder 中的一个对象...

欢迎对这些方法的有效性提出任何意见,或提出改进或替代方案的建议!