美文网首页
添加/移除子视图

添加/移除子视图

作者: 奕生奕世_3503 | 来源:发表于2019-03-11 09:18 被阅读0次

    removeFromSuperview

    把当前view从它的父view和窗口中移除,同时也把它从响应事件操作的响应者链中移除。

    removeFromSuperview,移除该节点及其子节点,而并非只是剪去该节点自己。同时,另一个操作就是把该对象从响应者链中移除。

    如果当前view对象的父视图不为空,则父视图会release一次当前视图对象。如果你还想重用当前view,你应该在调用removeFromSuperview之前,retain一次当前view对象,但不要忘记,在恰当的时候要release它,以确保没有内存泄露。

    注意:永远不要在你的view的drawRect方法中调用removeFromSuperview;

    - (void)addSubview:(UIView *)view //添加子视图

    - (void)removeFromSuperview //从父视图中移除

    - (void)bringSubviewToFront:(UIView *)view 

    //移动指定的子视图到最顶层

    - (void)sendSubviewToBack:(UIView *)view

    //移动制定的子视图到后方,所有子视图的下面

    - (void)insertSubview:(UIView *)view atIndex:(NSInteger)index

    //在指定的位置插入子视图,视图的所有视图其实组成了一个数组

    - (void)insertSubview:(UIView *)view aboveSubview:(UIView *)siblingSubview

    //将指定的子视图移动到指定siblingSubview子视图的前面

    - (void)insertSubview:(UIView *)view belowSubview:(UIView *)siblingSubview

    //将指定的子视图移动到指定siblingSubview子视图的后面

    - (void)exchangeSubviewAtIndex:(NSInteger)index1 withSubviewAtIndex:(NSInteger)index2

    //交换两子视图的位置

    - (BOOL)isDescendantOfView:(UIView *)view

    removeFromSuper view(从父类中删除)

    //判断接收对象是否是指定视图的子视图,或与指定视图是同一视图

    insertSubview:atIndex: (放到index层,越往下,index越小)

    insertSubview:A aboveSubview:B(把前一个ViewA放在后一个ViewB 的上面)

    insertSubview:A belowSubview:B(把前一个ViewA放在后一个ViewB 的下面)

    bringSubviewToFront: (把一个View放到上面)

    sendSubviewToBack:(把一个View放到下面)

    exchangeSubviewAtIndex:withSubviewAtIndex:(来修改遮挡。我的理解是view按照控件加进去的顺给了个index,这个index从0开始递增。显示的时候index数值较大控件遮挡数值较小的。 上面这个函数交换两个控件位置)

    相关文章

      网友评论

          本文标题:添加/移除子视图

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