UIView
2015-06-16 17:57
483 查看
// // UIViewViewController.m // AppUI组件学习 // // Created by 麦子 on 15/6/16. // Copyright (c) 2015年 麦子. All rights reserved. // #import "UIViewViewController.h" @interface UIViewViewController (){ UIView *myview4; } @end /*** UIView 就是一个容器,就像栈一样,一个有顺序的容器,他对层的操作会导致这个层的数组的下标这样的顺序有变动 **/ @implementation UIViewViewController - (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor blackColor]; [self createView:self.view]; } - (void)createView:(id)uiView{ UIView *view = (UIView *)uiView; UIView *myView = [[UIView alloc] init]; myView.frame = CGRectMake(10, 80, 300, 100); myView.backgroundColor = [UIColor yellowColor]; // 自动裁减,超过父视图的地方,会自动裁掉 myView.clipsToBounds = YES; CGFloat xCount = myView.frame.origin.x; // 相对于父类的左边上边的坐标 CGFloat yCount = myView.frame.origin.y; CGFloat widthCount = myView.frame.size.width; CGFloat heightCount = myView.frame.size.height; NSLog(@"x-%f,y-%f,width-%f,height-%f",xCount,yCount,widthCount,heightCount); // 获取中心店 CGPoint point = myView.center; NSLog(@"x-%f,y-%f",point.x,point.y); // 获取边框大小 CGRect rect = myView.bounds; // x y 永远是 0 NSLog(@"x-%f,y-%f,width-%f,height-%f",rect.origin.x,rect.origin.y,rect.size.width,rect.size.height); // 设置视图标签,这个属于唯一标示 myView.tag = 1; // 设置内容模式 myView.contentMode = UIViewContentModeLeft; // 这个可以在ImageView中,可以设置图片的放的位置 // view 一个容器,这个容器里的数据都可以通过方法来获取到 UIView *myView2 = [[UIView alloc] init]; myView2.frame = CGRectMake(10, 20, 200, 50); myView2.backgroundColor = [UIColor purpleColor]; [myView addSubview:myView2]; UIView *myView3 = [[UIView alloc] init]; myView3.frame = CGRectMake(10, 80, 200, 100); myView3.backgroundColor = [UIColor orangeColor]; // 设置通明度, myView3.alpha = 0.1; [myView addSubview:myView3]; // 得到父类视图 UIView *superView = [myView2 superview]; superView.backgroundColor = [UIColor blueColor]; // 获取所有子视图 NSArray *array = superView.subviews; for (UIView *myView in array) { myView.backgroundColor = [UIColor brownColor]; } // 下标获取 UIView *firstView = [array objectAtIndex:0]; firstView.backgroundColor = [UIColor darkGrayColor]; // 设置自动布局 myview4 = [[UIView alloc] init]; myview4.frame = CGRectMake(10, 200, 300, 300); myview4.backgroundColor = [UIColor yellowColor]; // 允许子类对象自动布局 myview4.autoresizesSubviews = YES; UIView *myview5 = [[UIView alloc] init]; myview5.frame = CGRectMake(10, 20, 250, 250); myview5.backgroundColor = [UIColor orangeColor]; // 设置子视图布局方式-------宽度的改变会和父类视图一致/高度, 这有多种方式 myview5.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight; [myview4 addSubview:myview5]; [view addSubview:myview4]; // 层操作 ---- 类似于栈区的顺序 UIView *myView6 = [[UIView alloc] init]; myView6.frame = CGRectMake(10, 550, 50, 50); myView6.backgroundColor = [UIColor purpleColor]; UIView *myView7 = [[UIView alloc] init]; myView7.frame = CGRectMake(30, 580, 100, 100); myView7.backgroundColor = [UIColor redColor]; [view addSubview:myView6]; [view addSubview:myView7]; [view addSubview:myView]; // 将某一个层放在最下面 // [view sendSubviewToBack:myView7]; // 将某一层放在最上层 // [view bringSubviewToFront:myView7]; //插入一个view到指定的层 UIView *myView8 = [[UIView alloc] init]; myView8.frame = CGRectMake(50, 580, 150, 150); myView8.backgroundColor = [UIColor blueColor]; // 插入到那一层 // [view insertSubview:myView8 atIndex:1]; // [view insertSubview:myView8 aboveSubview:myView6];// 上面 还有下面 [view exchangeSubviewAtIndex:1 withSubviewAtIndex:0]; // 交换层 // 这里自动就会调用了,不需要放入到主线程中, // [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(viewChange:) userInfo:nil repeats:YES]; } - (void)viewChange:(NSTimer *)timer{ myview4.frame = CGRectMake(10, 200, myview4.frame.size.width+5, myview4.frame.size.height+5); } @end
相关文章推荐
- CALayer与UIView的关系
- UIView的bounds和frame区别
- uiview
- uiview生命周期
- UIView翻译 (参考)
- iOS 转变UIView到UIImage
- UIView动画
- initWithFrame 和 initWithCoder
- [CS193P] 第六堂課摘要及心得筆記
- 棋盘
- ios实现button变换颜色并可以放大、缩小、旋转
- uiview contentViewmode
- iphone开发小记 基础知识2
- iphone开发小记 基础知识3
- [笔记]I 群聊天记录2012/03/中
- iPhone开发进阶(2) --- iPhone应用程序/项目的构成
- 视图弹出后放大又缩小的动画实现、类似于alertView效果
- iPhone SDK开发:自定义UIAlertView
- IOS开发中的UIScreen、UIView、UIWindow和UIViewController
- retain和copy还有assign的区别,以及引用计数