使图形组件在可可中可重用



我已经为我的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 进行子类化。从那时起,您可以将自定义功能包装在此类中,然后以编程方式将其添加到视图中,就像任何其他子视图一样。

最新更新