我已经为我的iPhone应用程序创建了一个图形组件,以便在多个窗口中重用它。例如:包含对象描述的框。
哪种方法最好?是用UIVIewController
吗?
@interface DescriptionBox : UIViewController
{
...
}
然后我在窗口中使用它:
@implementation WindowOne
- (void)loadView {
...
DescriptionBox *component = [[DescriptionBox alloc] initWithFrame:CGRectMake(100, 100, 50, 50)];
[[self view] addSubview:[component view]];
}
和其他:
@implementation WindowTwo
- (void)loadView {
...
DescriptionBox *component = [[DescriptionBox alloc] initWithFrame:CGRectMake(100, 100, 50, 50)];
[[self view] addSubview:[component view]];
}
没有必要
使用 UIViewControllers。看看SVProgressHUD是如何组织的。这是一个类,使您能够显示一些带有活动指示器的弹出消息,它会根据 UIViewController 旋转进行调整,并知道何时有键盘可见以重新布局自身。
在大多数情况下,
您的组件应该对 UIView 进行子类化。从那时起,您可以将自定义功能包装在此类中,然后以编程方式将其添加到视图中,就像任何其他子视图一样。