我已经创建了一个自定义的UIView,我想在我的iPhone应用程序中的多个不同的视图控制器上使用。目前,我已经复制了包含来自第一个视图控制器的nib文件的控件的UIView,将其粘贴到其他视图控制器中,然后将所有动作连接到每个视图控制器。这工作正常,但不是我想要使用此自定义视图的最佳方式。从多个视图控制器使用自定义UIView
我的自定义视图非常简单,它由一些带有标签的UIButton组成,并点击这些按钮触发更改视图控制器视图上控件内容的操作。
什么是一个策略来巩固这个UIView的定义和用法?理想情况下,我只想从视图控制器的笔尖引用此自定义视图,并让视图控制器响应此自定义视图中的操作。
编辑:好的,根据J.Biard的建议,我尝试了以下运气不多。
我创建了另一个基于UIView的nib文件,其中包含我的可重用视图和UIView子类.m和.h文件的内容(现在只是一些UIButton对象),然后将nib File的Owner类设置为我新创建的类名。
然后,我添加了来自J.Biard的大部分代码(我将rect更改为50,50,100,100,现在将setDelegate省略了,因为我现在只是试图让它工作,并且我发现[self.view addSubview:view]比[self addSubView:view])工作得更好,直到应用程序启动时显示的第一个视图控制器的viewDidLoad方法结束。
我现在得到的是我的主视图,里面有一个黑色方块。我是否错过了某个插座,或者在UIView子类的initWithFrame或drawRect中是否需要初始化?
如果您想通过使用Interface Builder来完成最后一部分(而不是在您的控制器中以编程方式设置customView),该怎么办?这可能吗?你会如何做到这一点? – Greg 2011-07-13 20:35:26