masonry 四个控件纵向对齐===关键点是 centerX是要对齐的

这篇博客介绍了如何利用Masonry布局框架,实现四个控件在视图中的纵向对齐,具体包括添加录音视图、设置按钮及时间显示,并通过约束确保它们的centerX对齐。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
 #pragma mark 添加录音view
-(void)addRecord{
    
    UIView *view = [[UIView alloc]initWithFrame:CGRectMake(10, [[UIScreen mainScreen] bounds].size.height - 130 , [[UIScreen mainScreen]bounds].size.width -20, [[UIScreen mainScreen] bounds].size.height)];
    
    view.backgroundColor = [UIColor  colorWithRed:153/255.0 green:153/255.0 blue:153/255.0 alpha:0.6];
    
    
    //取消录音
    UIButton *btnCancle = [[UIButton alloc]init];
    [btnCancle setTitle:@"取消" forState:UIControlStateNormal];
    [btnCancle addTarget:self action:@selector(cancleRecord) forControlEvents:UIControlEventTouchUpInside];
    [view addSubview:btnCancle];
    [btnCancle mas_makeConstraints:^(MASConstraintMaker *make) {
        make.width.mas_equalTo(80);
        make.height.mas_equalTo(40);
        make.left.mas_equalTo(10);
        make.top.mas_equalTo(10);
    }];
    

    //确定录音
    UIButton *btnOK = [[UIButton alloc]init];
    [btnOK setTitle:@"完成" forState:UIControlStateNormal];
    [btnOK addTarget:self action:@selector(recordOk) forControlEvents:UIControlEventTouchUpInside];
    
    [view addSubview:btnOK];
    [btnOK mas_makeConstraints:^(MASConstraintMaker *make){
        make.width.mas_equalTo(80);
        make.height.mas_equalTo(40);
        make.top.equalTo(view).with.offset(10);
        make.right.equalTo(view).with.offset(-10);
    }];
    
    
    //录音imageview
    UIImageView *recordImageView = [[UIImageView alloc]init];
    recordImageView.image = [UIImage imageNamed:@"RecordluIco"];
    [view addSubview:recordImageView];
    [recordImageView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.centerX.mas_equalTo(view);
        make.top.mas_equalTo(60);
        make.width.mas_equalTo(30);
        make.height.mas_equalTo(30);
        
    }];
    
    //显示时间的button
    UIButton *btnTime = [[UIButton alloc]init];
    self.btnTime = btnTime;
    [btnTime setTitle:@"00:00:00" forState:UIControlStateNormal];
    [view addSubview:btnTime];
    [btnTime mas_makeConstraints:^(MASConstraintMaker *make) {
        make.centerX.equalTo(view);
        make.top.mas_equalTo(recordImageView.mas_bottom).with.offset(10);
        make.height.mas_equalTo(30);
        make.width.mas_equalTo(100);
    }];
    
    UIImageView *imageViewStart = [[UIImageView alloc]init];
    imageViewStart.image =[UIImage imageNamed:@"RecordlyTime"];
    [view addSubview:imageViewStart];
    [imageViewStart mas_makeConstraints:^(MASConstraintMaker *make) {
        make.centerX.equalTo(view);
        make.top.mas_equalTo(btnTime.mas_bottom).with.offset(10);
        make.width.mas_equalTo(30);
        make.height.mas_equalTo(30);
        
    }];
    
    UIButton *btnStart = [[UIButton alloc]init];
    self.btnStartRecord = btnStart;
    [btnStart setTitle:@"开始录音" forState:UIControlStateNormal];
    [btnStart addTarget:self action:@selector(startRecord) forControlEvents:UIControlEventTouchUpInside];
    [view addSubview:btnStart];
    [btnStart mas_makeConstraints:^(MASConstraintMaker *make) {
        make.centerX.mas_equalTo(view);
        make.top.mas_equalTo(imageViewStart.mas_bottom).with.offset(10);
        make.height.mas_equalTo(30);
        make.width.mas_equalTo(100);
        
    }];
    
    [self.view addSubview:view];
    
    self.recordView = view;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值