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

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

概述我刚刚开始使用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];        }    }

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

总结

以上是内存溢出为你收集整理的如何在Objective-C中创建可在故事板中的多个视图中使用的公共控件?全部内容,希望文章能够帮你解决如何在Objective-C中创建可在故事板中的多个视图中使用的公共控件?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1014725.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存