美文网首页
改变视图层级位置

改变视图层级位置

作者: 71150ce14a00 | 来源:发表于2016-05-23 15:24 被阅读71次

    UIView *view1 = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];

    view1.backgroundColor = [UIColor redColor];

    [self.view addSubview:view1];

    UIView *view2 = [[UIView alloc] initWithFrame:CGRectMake(130, 100, 100, 100)];

    view2.backgroundColor = [UIColor blackColor];

    [self.view addSubview:view2];

    UILabel *lable = [[UILabel alloc] initWithFrame:CGRectMake(150, 100, 100, 100)];

    lable.backgroundColor = [UIColor greenColor];

    [self.view addSubview:lable];

    正常顺序执行应该是这样子:

    想让红色view在最上层显示则:

    [self.view bringSubviewToFront:view1];

    如果想让黑色在最下边显示则:

    [self.view sendSubviewToBack:view2];

    还有一些方法请自行实验:

    // 添加视图

    addSubview:

    //将一个视图移到前面

    bringSubviewToFront:

    //将一个视图推送到背后

    sendSubviewToBack:

    //把视图移除

    removeFromSuperview

    //插入视图 并指定索引

    insertSubview:atIndex:

    //插入视图在某个视图之上

    insertSubview:aboveSubview:

    //插入视图在某个视图之下

    insertSubview:belowSubview:

    //交换两个位置索引的视图

    exchangeSubviewAtIndex:withSubviewAtIndex:

    //当加入视图完成后调用

    (void)didAddSubview:(UIView *)subview

    //当视图移动完成后调用

    (void)didMoveToSuperview

    //当视图移动到新的WINDOW后调用

    (void)didMoveToWindow

    //在删除视图之后调用

    (void)willRemoveSubview:(UIView *)subview

    //当移动视图之前调用

    (void)didMoveToSuperview:(UIView *)subview

    //当视图移动到WINDOW之前调用

    (void)didMoveToWindow

    相关文章

      网友评论

          本文标题:改变视图层级位置

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