快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

IOS学习笔记(五)之视图的层次结构,查找,常用属性与清理学习-创新互联

IOS学习笔记(五)之视图的层次结构,查找,常用属性与清理学习

创新互联公司主营田东网站建设的网络公司,主营网站建设方案,成都app软件开发公司,田东h5微信平台小程序开发搭建,田东网站营销推广欢迎田东等地区企业咨询

   Author:hmjiangqq

   Email:jiangqqlmj@163.com

(一):视图的层次结构

1.UIView层次结构可以理解为"视图树"-View Hierarchy

2.一个视图就是一个容器,当一个视图包含其他视图的时候,两个视图之间就建立了

 一个父子复习。被包含的视图被称为"子视图(subview)",包含的视图称为“父视图或”

 超视图(superview)"

3.从视觉上看,子视图隐藏了俯视图的内容,设置透明属性可以看到父视图的内容

4.每个父视图都有一个有序的数组存储着它的子视图,存储的顺序就会影响到每个子视图

 的显示效果,比如:两个兄弟视图重叠在一起,后来被加入的视图就会出现在另外视图的上面

5.一个视图可以嵌入多个subview,但是只能有一个superview

视图的常用方法

   当调用addSubView的时候,会对其进行保留,相当于retain了一个对象,当调用removeFromSuperView时候

   会进行释放该对象,相当于release了该对象

基本的添加和删除子视图的方法

- (void)removeFromSuperview;  - (void)insertSubview:(UIView *)view atIndex:(NSInteger)index;  - (void)exchangeSubviewAtIndex:(NSInteger)index1 withSubviewAtIndex:(NSInteger)index2;  - (void)addSubview:(UIView *)view;  - (void)insertSubview:(UIView *)view belowSubview:(UIView *)siblingSubview;  - (void)insertSubview:(UIView *)view aboveSubview:(UIView *)siblingSubview;  - (void)bringSubviewToFront:(UIView *)view;  - (void)sendSubviewToBack:(UIView *)view;

实例代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions  {      self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];      // Override point for customization after application launch.      self.window.backgroundColor = [UIColor whiteColor];      [self.window makeKeyAndVisible];      UIView *view1=[[UIView alloc]initWithFrame:CGRectMake(60, 100, 200, 100)];      view1.backgroundColor=[UIColor redColor];      [self.window addSubview:view1];      [view1 release];            UIView *view2=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 50, 50)];      view2.backgroundColor=[UIColor blueColor];      [self.window addSubview:view2];      [view2 release];            NSLog(@"view1 superview:%@",[view1 superview]);      NSLog(@"view2 superview:%@",[view2 superview]);      NSLog(@"self.window subViews:%d",[[self.window subviews]count]);            return YES;  }

运行截图:

IOS学习笔记(五)之视图的层次结构,查找,常用属性与清理学习

(二):视图的查找

设置和查找方法代码如下:

UIView *view3=[[UIView alloc]initWithFrame:CGRectMake(60, 250, 200, 100)];      view3.tag=100;      view3.backgroundColor=[UIColor yellowColor];      [self.window addSubview:view3];      [view3 release];      NSLog(@"view3:%@",view3);      //通过tag值查找view      UIView *myView=[self.window viewWithTag:100];      myView.alpha=0.1;      NSLog(@"myView:%@",myView);      return YES;

 运行截图:

IOS学习笔记(五)之视图的层次结构,查找,常用属性与清理学习

(三):常用属性:

1.alpha  //透明度

2.backgroundColor  //背景颜色

3.subViews   //子视图集合

4.hidden   //是否隐藏

5.tag    //标签纸

6.superview  //父视图

7.multipleTouchEnabled  //是否开启多点触摸

8.userInteractionEnabled //是否响应触摸事件

(四)自定义UIView

继承UIView,创建对象

(五)视图对象的清理

  如果手动创建一个视图,分配了任何内存,存储了了任何对象的引用,都需要释放资源,

必须实现dealloc方法。当某个对象的引用计数为0,系统会调用其dealloc方法去释放对象资源

切记不要手动调用dealloc方法

-(void)dealloc{

//释放自定义对象

[super dealloc];

}

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前标题:IOS学习笔记(五)之视图的层次结构,查找,常用属性与清理学习-创新互联
浏览地址:http://6mz.cn/article/phspc.html

其他资讯