我更喜欢以编程方式创建我的接口.似乎Apple Developer上的所有文档都假设您正在使用Interface Builder.是否可以以编程方式创建这些接口,如果是这样,我从哪里开始学习如何执行此操作
我认为相关文档如果可能的话将在本节中:http://developer.apple.com/referencelibrary/Cocoa/idxUserExperience-date.html
我喜欢这个问题,而且我也想知道减少IB的资源.实用性("为什么")仅受想象力的限制.在我的脑海中,以下是明确编程UI的一些可能原因:
实现更好的Interface Builder.
编程动态UI,即静态不可知的结构(在编译/ xcode时).
为UI实现跨平台库或语言的Cocoa后端.
有一系列关于没有笔尖工作的博客文章以及Michael Mucha最近在cocoa-dev上的描述.
我更喜欢以编程方式创建我的接口.
为什么?Interface Builder更容易,更快捷.你不能通过拖放写一个拼写错误,当你手工输入矩形时,你不会得到那些非常方便的Aqua指南.
不要打它.Interface Builder是您的朋友.让它来帮助你.
如果您坚持通过在代码中编写UI来浪费自己的时间和精力:
不是基于文档的(通常是基于库的,如Mail,iTunes,iPhoto):创建NSObject的子类,实例化它,并使其成为应用程序的委托,并在委托的applicationDidFinishLaunching:
方法中,创建一个窗口,用视图填充它,以及订购它.
基于文档(如TextEdit,Preview,QuickTime Player):在makeWindowControllers
NSDocument子类的方法中,创建窗口(并用视图填充它们)并为它们创建窗口控制器,确保addWindowController:
为每个窗口控制器发送自己的窗口.
作为一个完全盲目的开发人员,我可以说IB与VoiceOver(OS X上的内置屏幕阅读器)不兼容.
这意味着如果无法访问使用Cocoa而不使用IB的强大文档,我无法在Cocoa中为OS X/iPhone开发应用程序,这意味着我(具有讽刺意味)无法轻松开发OS X上的盲人(以及所有其他人)可访问的应用程序iOS版.
我目前的解决方案,我不想使用,是Java + SWT,当然这适用于OS X,而不是iOS.