1.  - (void)addSubview:(UIView *)view 这是最常用的方法有两个注意点

  • 参数view可以是nil,运行不会报错,当然,父视图的subViews也不会增加。
  • 此方法增加的view层级当前是最高的,也就是最靠外。

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

  • 父视图的所有的子视图的index默认是从0开始的。
  • index如果赋了负数,执行不会报错,但添加会失败。
  • 如果index值过大,能正常添加subView,但传入index会无效,相当于执行第一种添加方法
     UILabel *testLbl = [[UILabel alloc]initWithFrame:CGRectMake(, , , )];
[testLbl setText:@"test"]; UIView *testV = [[UIView alloc]initWithFrame:CGRectMake(, , , )];
testV.backgroundColor = [UIColor greenColor]; [self.window insertSubview:testV atIndex:];
[self.window insertSubview:testLbl atIndex:];

Index值过大代码示例

    以上代码中靠前的是testLbl。

3.  - (void)insertSubview:(UIView *)view aboveSubview:(UIView *)siblingSubview;

  • 参数siblingSubview如果是nil,执行不会报错,但添加会失败
[self.window insertSubview:testLbl aboveSubview:nil];

4.  - (void)insertSubview:(UIView *)view belowSubview:(UIView *)siblingSubview;

  • 和3相同。

UIView 添加子视图的常用方法的更多相关文章

  1. iOS开发-在表单元中添加子视图

    #import <UIKit/UIKit.h> @interface NameAndColorCellTableViewCell : UITableViewCell @property(c ...

  2. 关于cell中添加子视图 复用重叠问题的解决方法

    问题本质:   因为你要添加的子视图并不是在自定义的cell中实现的,而是根据系统给的UITableViewCell这个类创建的实例,每次进图 cellForRow方法都会创建一个cell,每次都要创 ...

  3. 动态添加子视图 UIView 的正确方法

    很多时候哥比较喜欢用代码添加视图,特别是要同时加很多UIView时,而且跟 xib 比起来代码更容易管理,在多人的项目中代码不容易 conflict. 但小牛哥最近发现很多新人都不太清楚正确的使用方法 ...

  4. 【iOS开发】动态添加子视图 UIView 的正确方法

    很多时候哥比较喜欢用代码添加视图,特别是要同时加很多UIView时,而且跟 xib 比起来代码更容易管理,在多人的项目中代码不容易 conflict. 但小牛哥最近发现很多新人都不太清楚正确的使用方法 ...

  5. UIView回调方法(可以在添加子视图等,做一些额外操作)

    didAddSubview didMoveToSuperview willMoveToSuperview didMoveToWindow willMoveToWindow willRemoveSubv ...

  6. Android 添加子视图(addView和setView)

    我们在添加视图文件的时候有两种方式,一种是通过在xml文件定义layout,另一种方式是在java代码中动态生成布局文件. 在xml中定义的layout要想转化为view,需要使用到LayoutInf ...

  7. 【转】 UIView如何管理它的子视图

    原文:http://my.oschina.net/u/1984662/blog/293690 目录[-] Core Animation基础 改变视图的层 动画支持 视图坐标系统 边框.边界.和中心的关 ...

  8. UIView如何管理它的子视图

    UIView提供了很多建立和管理视图的方法. 1.添加视图 insertSubview:atIndex:   //放在子视图数组的具体索引位置 insertSubview:aboveSubview:  ...

  9. 如何在BCGControlBar界面库的CBCGPFormView子视图里面添加工具栏

    最近有一个项目需求,需要在子视图里面添加一个新工具栏用来处理当前视图对应模块的操作.之前在对话框模式下做过添加工具栏的实现,在CBCGPFormView中添加工具栏还是头一次.在这里记录一下,给自己留 ...

随机推荐

  1. 【Python】django表单与提交

    参考:http://djangobook.py3k.cn/2.0/chapter07/ 本文的内容应属于django的表单模块,没有涉及到的后端request对象的处理方法可以单独深入学习表单. UR ...

  2. Oracle笔记 十、PL/SQL存储过程

    --create or replace 创建或替换,如果存在就替换,不存在就创建 create or replace procedure p is cursor c is select * from ...

  3. 新写的c++日志库:log4K

    网是开源的c/c++日志库也不少,但用起来总觉得不方便,于是动手写了一个C++日志框架Log4K. 测试代码: #include "log4k.h" #pragma comment ...

  4. Qt, 我回来了。。。

    说起qt,大学时就有接触,但一直没有深入,这个周六周天利用两于时间重新温习了一下,跟之前用过的vs上的MFC.C++ builder比起来,Qt封装很人性化,库也比较全,写个 一般的小工具很轻松. 参 ...

  5. oracle 如何恢复误删的表记录数据

    --开启行移动功能 ALTER TABLE tablename ENABLE row movement ; --恢复表数据,时间为删除或修改的时间点 flashback table tablename ...

  6. XML内容作为String字符串读取报错

    解决方案:    1.把头信息<?xml version='1.0' encoding='UTF-8'?>,但是内容会丢失部分: 2.用XmlDocument解析就OK.   正确代码: ...

  7. Android IOS WebRTC 音视频开发总结(三一)-- 自定义传输实现一对多

    本文主要介绍基于Webrtc的多人视频会议的简单实现,文章来自博客园RTC.Blacker,支持原创,转载请说明出处. 前面提到基于开源框架的视频会议都存在诸多问题,所以我们通过重写WEBRTC传输模 ...

  8. javaSE第三天

    第三天    12 1:运算符(掌握)    12 (1)算术运算符    12 (2)赋值运算符    12 (3)比较运算符    13 (4)逻辑运算符    13 (5)位运算符(了解)    ...

  9. 移植u-boot-1.1.6之mtdparts分区

    和u-boot高版本不同,mtdparts命令没有cmd_mtdparts这么一个单独的文件来实现. 不过,搜索uboot可以在cmd_jffs2.c里面看到如下代码: U_BOOT_CMD( mtd ...

  10. eclipse自动补全

    最简单的修改方式是:Windows——>Preferences——>Java-->Editor-->Content Asist,在Auto activation trigger ...