是否可以在不使用Interface Builder的情况下构建iphone视图?

Is it possible to build an iphone view WITHOUT using Interface Builder?

因此,接口生成器做的事情是为了节省时间,但是如果我不想做呢?在C中,生成的所有代码都是清晰易懂的,在Interface Builder中,这是隐藏的,所以我希望至少在学习阶段从头开始做一些事情:有什么样的代码可以这样做吗?

似乎苹果让事情变得非常困难,所以你不能轻易地使用Xcode的替代品:)

http://cocoawithlove.com/2009/02/interprocess-communication-snooping.html


是的,您可以构建一个没有ib的视图。只需分配和初始化一个视图或控件并设置其属性,例如:

1
2
3
4
5
6
UITextField *tf= [[UITextField alloc] initWithFrame: CGRectMake(24.5, 65, 270, 30)];
tf.delegate = self;
tf.textAlignment = UITextAlignmentCenter;
tf.autocorrectionType = UITextAutocorrectionTypeNo;
tf.autocapitalizationType = UITextAutocapitalizationTypeNone;
[self.view addSubview: tf];

但ib不会对您隐藏任何生成的代码,因为它根本不会生成任何代码。相反,它创建对象实例并将其序列化为XIB或NIB文件。


接口生成器的工作方式与Visual Studio不同。它不生成代码,而是生成"原始"对象实例。从这个意义上说,不可能看到代码,因为没有生成代码。

一个选项nib2objc将您的接口转换为代码,尽管我不确定它的可读性如何。如上所述,这不是iPhone执行的代码。


接口生成器不生成用于生成UI对象的代码。它创建了一个压缩的XIB数据对象,iOS运行时会将其"解压缩"(进行一些室内清理)到预构建的对象中。

这个范例实际上是将对象本身看作对象,而不仅仅是代码执行的结果。例如,如果你不写任何代码就可以"做到这一点",你最终会得到什么。


这篇博客文章向你展示了如何开始一个无笔尖的iPhone项目。

您可能想看看这个问题,了解如何以编程方式创建视图(例如,本例中的uibutton)。