iOS中自定义视图控件

 

在平常的开发中,可能有些代码是有重复使用,或者在另外的一个项目中会有这样的功能段.这个时候我们就要把该功能段封装,打包,以便后续使用.

在调用的时候用有点类似于:有很多属性的类一样,在调用的使用要初始化,使用类的属性只需取出既可.

实现功能过程如下

1:首先创建一个控制器继承自UIView

2:创建一个uiviewcontroller,在.m把自定义uiview在头文件中引入

3:设置启动文件.

实现过程:

1:我们首先创建一个控制器logview继承自UIView,

例如我们的这个页面只显示个人的基本信息的时候,

我们就要在logview.h文件中把基本信息显示的label放入该文件中

/**

 *  姓名

 */

@property(nonatomic,retain)UILabel *usernames;

/**

 *  毕业学校名称

 */

@property(nonatomic,retain)UILabel *userschool;

 在logview.m文件中- (id)initWithFrame:(CGRect)frame的方法里实现具体属性

实现代码如下

- (id)initWithFrame:(CGRect)frame

{

    self = [super initWithFrame:frame];

    if (self) {

        self.usernames = [[UILabel alloc] initWithFrame:CGRectMake(50, 100, 100, 50)];

        self.usernames.backgroundColor = [UIColor redColor];

        self.userschool = [[UILabel alloc] initWithFrame:CGRectMake(50, 170, 100, 50)];

        self.userschool.backgroundColor = [UIColor grayColor];

        [self addSubview:self.usernames];

        [self addSubview:self.userschool];

    }

    return self;

}

2:创建一个uiviewcontroller,把自定义uiview在头文件中引入

 创建一个MainViewController继承自UIViewController.在该控制器的头文件中引入我们自定的UIView#import “logView.h”

//设置在初始化的时候和主屏幕一样大小

logView *login = [[logView alloc] initWithFrame:[UIScreen mainScreen].bounds];

    login.usernames.text = @"ddddddddd";

    login.userschool.text = @"ddfffffffffffffffffff";

         [self.view addSubview:login];

3:设置启动文件

3.1在appdelegate.m文件中引入头文件我们添加的自定义的控制器

#import “MainViewController.h"

3.2 设置启动的控制器页面

MainViewController *mvc = [[MainViewController alloc] init];

self.window.rootViewController = mvc;

在以后的开发中,我们可以把工程中的某一个某块单独抽出来,把他封装套自己的UIView中,形成自己的一个类库,在以后的开发中用到功能类似的时候可以直接把该UIView拖拽到工程中,在控制器中,引入头文件,在初始化该UIView,拿到该view的属性赋值就可以了.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值