UI基础 自定义视图

 

RootViewControlle.m
#import "RootViewController.h"
#import "MyView.h"
@interface RootViewController ()

@end

@implementation RootViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // 第一步 新建一个类继承UIView
//     第二步 分析新视图由哪一些旧视图构成 并且把它声明称属性
//    第三步 重写初始化方法 在方法里面完成布局
    // 使用自定义视图
    MyView* view=[[MyView alloc] initWithFrame:CGRectMake(10, 100, 306, 50)];
    [self.view addSubview:view];
    
//    view.label.text=@"用户名";
//    view.tf.placeholder=@"请输入用户名";
//
    
    
    [view setLabelText:@"hah"];
    
}

@end

 

 

MyView.h

#import <UIKit/UIKit.h>



@interface MyView : UIView
//声明一个方法 专门设置label的文字
-(void)setLabelText:(NSString *)string;

@end

 

MyView.m

#import "MyView.h"

//延展
@interface MyView()
@property(nonatomic,strong)UILabel* label;
@property(nonatomic,strong)UITextField* tf;

@end


@implementation MyView
//重写初始化方法 完成布局
-(id)initWithFrame:(CGRect)frame{
    self=[super initWithFrame:frame];
    if(self){
        
        _label=[[UILabel alloc]initWithFrame:CGRectMake(5, 5, 80, 40)];
        _tf=[[UITextField alloc] initWithFrame:CGRectMake(90, 5, 240, 40)];
        
        _label.backgroundColor=[UIColor purpleColor];
        _tf.backgroundColor=[UIColor redColor];
        self.backgroundColor=[UIColor cyanColor];
        
        
        [self addSubview:_label];
        [self addSubview:_tf];
        
        
    }
    return self;
    }

//实现方法
-(void)setLabelText:(NSString *)string
{
    _label.text=string;
    
}



@end

 

posted @ 2020-07-21 22:42  逆欢  阅读(131)  评论(0编辑  收藏  举报