首先,我在Mac桌面编程方面没有太多经验。我只在iOS应用程序上工作。
现在我想做一个桌面应用程序来帮助我开发iOS应用程序。为此,我需要在桌面上显示一个UIView (从xib加载),类似于界面构建器的工作方式。
据我所知,桌面应用程序使用NSView。有没有办法在NSView中显示UIView
编辑:有没有办法把UIView转换成NSView?
EDIT2:有没有办法为接口生成器编写插件/扩展?
EDIT3:我正在尝试构建一个应用程序,使某些iOS应用程序(演示应用程序)的开发变得更容易。例如,一个应用程序在滚动视图中显示多个视图,每个视图都有一些动画图形元素和一些弹出按钮。这类应用程序很容易开发,但很繁琐。我想做一个工具,可以帮助我更快地构建这样的应用程序。
谢谢。
发布于 2011-12-21 22:24:08
根据您对正在尝试构建的应用程序的描述,我可能建议您直接编写XML,而不是尝试在OS X上操作UIViews。您可以使用仿真器来布局控件,然后生成层次结构(位置等)的序列化表示。在设备上。您可以从该序列化生成XIB,可以在设备上生成,也可以在从仿真器拉回序列化后的桌面上生成。
发布于 2011-12-21 22:08:51
UIKit ( Mac框架,包括UIView)不能在OS ( iOS桌面操作系统)上运行。已经有几种方法来创建到OS X的第三方UIKit端口。其中,Chameleon可能是最先进的。它仍然只实现了大约60%的UIKit (根据项目页面),但已经用于发布应用程序。它是由Twitterific的制造商开发的,目的是将他们的iOS应用程序移植到OS上,我相信它仍然是该产品在桌面上的基础。
将UIView转换为NSView
没有办法将UIView“转换”为NSView。由于您无法在OS X上加载UIKit (或在iOS上加载AppKit ),因此无法实例化一个UIView,然后遍历其视图层次结构来实例化一个等效的NSView。当然,由于UIView的语义与NSView不同,因此不清楚是否存在确定性映射。NSView层次结构是基于视图的,而UIView层次结构对CoreAnimation层的使用要普遍得多。NSView起源于NeXT AppKit框架。在许多领域,AppKit正在显露出它的老态。UIKit是一个全新的开始,在AppKit中“修复”了许多这样的遗留问题(当然,引入了它自己未来的“遗留”问题)。
可以解析XIB,实例化大致等价的NSViews,其中存在从UIView到NSView的有意义的映射。在这个方案中,自定义UIViews将完全不在桌面上,如果不为每个UIView (变色龙项目)编写自定义NSViews,就无法(轻松地)匹配外观和感觉。
IB插件
Interface Builder 3支持插件架构。在Xcode 4中,Interface Builder不再支持第三方插件。抱歉的。
编辑
不幸的是,我不相信Chameleon可以从XIB加载视图,所以如果您想加载XIB视图而不是在代码中实例化它们,那么您可能必须为项目做出贡献……正如阿什利指出的那样,你可能会陷入一个非常深的兔子洞。
发布于 2011-12-21 22:00:56
不是的。UIView仅适用于iPhone。在mac上使用NSView。
https://stackoverflow.com/questions/8590940
复制相似问题