加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 17:41:17 所属栏目:百科 来源:网络整理
导读:我刚刚开始使用xCode 4.2进行iOS开发,并发现了故事板.它们似乎非常适合快速原型设计. 我想知道的是如何创建自己的自定义控件,我可以在多个视图中使用. 例如,假设我想要一个在每个视图中都很常见的自定义标题栏.我想我应该能够用它自己的控制器定义该控件,并
我刚刚开始使用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];
        } 
   }

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读