美文网首页
UIView 的方法insertSubview 和 addSub

UIView 的方法insertSubview 和 addSub

作者: 阳光下的叶子呵 | 来源:发表于2021-09-09 10:47 被阅读0次
  • insertSubview: belowSubview:

在主视图self.view 中 ,在self.tableView 下面(belowSubview)或上面(aboveSubview)插入一个toolView,
[self.view insertSubview:toolView belowSubview:self.tableView];
[self.view insertSubview:toolView aboveSubview:self.tableView];

示例:

在一个 view前插入另一个view,


截屏2021-09.png
  • 代码:主视图backView,先在其上addSubview一个UITextField,在向UITextField之前插入一个红色的textBackView

[backView insertSubview:textBackView belowSubview:self.textField];

UIView *backView = [[UIView alloc] init];
    backView.backgroundColor = [UIColor clearColor];
    backView.layer.masksToBounds = YES;
    backView.layer.cornerRadius = [UIScreen mainScreen].bounds.size.width/375*10;
    [self addSubview:backView];
    [backView makeConstraints:^(MASConstraintMaker *make) {
        make.centerY.mas_equalTo(self.mas_centerY).offset(-[UIScreen mainScreen].bounds.size.width/375*20);
        make.centerX.equalTo(self);
        make.width.mas_equalTo([UIScreen mainScreen].bounds.size.width/375*371);
        make.height.mas_equalTo([UIScreen mainScreen].bounds.size.width/375*195);
    }];
    
    UIImageView *bottomImgView = [[UIImageView alloc] init];
    bottomImgView.image = [UIImage imageNamed:@"new_RTestIDBack_icon"];
    [backView addSubview:bottomImgView];
    [bottomImgView makeConstraints:^(MASConstraintMaker *make) {
        make.edges.equalTo(backView);
    }];
    
    _textField = [[UITextField alloc] init];
    _textField.autocorrectionType = UITextAutocorrectionTypeNo;
    _textField.returnKeyType = UIReturnKeyDone;
    _textField.backgroundColor = RGBA(245, 245, 251, 1);
    _textField.placeholder = @"请输入考试唯一ID";
    _textField.textAlignment = NSTextAlignmentLeft;
    _textField.font = [UIFont systemFontOfSize:[UIScreen mainScreen].bounds.size.width/375*17 weight:UIFontWeightMedium];
    _textField.delegate = self;
    _textField.clearButtonMode = UITextFieldViewModeAlways;
    self.textField.layer.masksToBounds = YES;
    self.textField.layer.cornerRadius = [UIScreen mainScreen].bounds.size.width/375*5;
    [backView addSubview:self.textField];
    [self.textField makeConstraints:^(MASConstraintMaker *make) {
        make.center.equalTo(bottomImgView);
        make.width.mas_equalTo([UIScreen mainScreen].bounds.size.width/375*235);
        make.height.mas_equalTo([UIScreen mainScreen].bounds.size.width/375*40);
    }];
    
    
    UIView *textBackView = [[UIView alloc] init];
    textBackView.backgroundColor = rgba(245, 245, 251, 1);
    textBackView.backgroundColor = [UIColor redColor];
    textBackView.layer.masksToBounds = YES;
    textBackView.layer.cornerRadius = [UIScreen mainScreen].bounds.size.width/375*5;
    [backView insertSubview:textBackView belowSubview:self.textField];
    [textBackView makeConstraints:^(MASConstraintMaker *make) {
        make.center.height.equalTo(self.textField);
        make.width.mas_equalTo([UIScreen mainScreen].bounds.size.width/375*255);
    }];

相关文章

网友评论

      本文标题:UIView 的方法insertSubview 和 addSub

      本文链接:https://www.haomeiwen.com/subject/gqsiwltx.html