如何在Objective-C中创建可在故事板中的多个视图中使用的公共控件?

前端之家收集整理的这篇文章主要介绍了如何在Objective-C中创建可在故事板中的多个视图中使用的公共控件?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚刚开始使用xCode 4.2进行iOS开发,并发现了故事板.它们似乎非常适合快速原型设计.

我想知道的是如何创建自己的自定义控件,我可以在多个视图中使用.

例如,假设我想要一个在每个视图中都很常见的自定义标题栏.我想我应该能够用它自己的控制器定义该控件,并从多个视图中实例化它.我只是不知道如何,到目前为止我读过的教程和问题都没有解决这个问题.

有小费吗?

解决方法

我发现一种方法是执行以下步骤:

>创建一个新的xib文件并将模拟指标设置为“自由形式”以允许调整大小. (MyControl.xib)
>使用控件中我想要的对象填充控件.
>为视图创建一个UIViewController. (MyViewController.h& MyViewController.m)
>将MyControl.xib的文件所有者设置为自定义类MyViewController
>在我想要包含控件的xib中,我将UIScrollView放在我想要控件的位置(常规View也可以工作). (Parent.xib)
>为UISCrollView创建一个IBOutlet,我将把控件放入ParentController中.
>在ParentController中创建MyViewController的实例.
>在ParentController中,将MyViewController的视图添加为UIScrollView的子视图.

代码中,这意味着

@implementation ParentController
    @synthesize myScrollView;
    MyViewController* myController;

    - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
    {

        self = [super init];
        if(self) 
        {
            myController = [[MyController alloc] initWithNibName:@"MyView" bundle:nil];
            [myScrollView addSubview:myController.view];
        } 
   }

这似乎工作,并允许我分离控件和父实现,但我不禁认为有更好的方法.

猜你在找的Xcode相关文章