UIWindow与视图UIView深层解析-链接地址 层次 Android中得到view在父容器中的位置下标 iOS | 怎么获取view在父类中的frame, 或子控件位置转换成父控件位置 addSubview和insertSubview 区别

http://blog.csdn.net/gf771115/article/details/7761904

  1. //得到view在父容器中的位置下标  
  2. int index=((ViewGroup)v.getParent()).indexOfChild(v);  

iOS 视图控制器转场详解

视图位置调整

[_tableView insertSubview:_bgIcon atIndex:0];

iOS | 怎么获取view在父类中的frame, 或子控件位置转换成父控件位置

addSubview和insertSubview 区别

子视图是以栈的方式存放的

每次addsubview时都是在最后面添加。

每次在addsubview前和addsubview后可以看看[self.view.subViews count];

你看看你的子视图是被添加到哪个位置了。
另外[self.view addSubView:xx.view]   其实就等于[self.view insertSubView:xx.view atIndex:[self.view.subViews count]];

即在最顶层添加view。

总之:

addSubview是一层一层往上加,新加的只能放到最上层
insertSubView可以控制将view添加到指定的层。
 
    //当加入视图完成后调用  
    (void)didAddSubview:(UIView *)subview  
    //当视图移动完成后调用  
    (void)didMoveToSuperview  
    //当视图移动到新的WINDOW后调用  
    (void)didMoveToWindow  
    //在删除视图之后调用  
    (void)willRemoveSubview:(UIView *)subview  
    //当移动视图之前调用  
    (void)didMoveToSuperview:(UIView *)subview  
    //当视图移动到WINDOW之前调用  
    (void)didMoveToWindow