您的位置:首页 > 产品设计 > UI/UE

UIView属性

2016-01-02 17:03 330 查看
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSLog(@"程序已经完成加载");
//iOS坐标系: x轴, 越往右, 越大; y轴, 越往下, 越大

//iOS应用的能到看到的视图, 都是矩形

//决定一个矩形视图在坐标系的位置, 有四个值(x, y , width, height)

//和数据相关的
//1.CGPoint, 存一个点的位置
CGPoint point = {50, 100};
NSLog(@"%.2lf, %.2lf",point.x, point.y);

CGPoint point1 = CGPointMake(50, 100);
NSLog(@"%@", NSStringFromCGPoint(point1));
//2.CGSize, 结构体, 存大小
CGSize size = CGSizeMake(150, 200);
NSLog(@"%@", NSStringFromCGSize(size));
//3.CGRect, 结构体, 存矩形的位置和大小
CGRect rect = CGRectMake(50, 100, 150, 200);
NSLog(@"%@",NSStringFromCGRect(rect));
//打印x
NSLog(@"%.2lf", rect.origin.x);

//[[UIScreen mainScreen]: 获取手机的主屏幕
//[[UIScreen mainScreen] bounds]: 获取主屏幕的大小
NSLog(@"%@", NSStringFromCGRect([[UIScreen mainScreen] bounds]));

//手机屏幕(pt: point, 点)
//iPhone 1/3G/3Gs/4/4s: 320 * 480
//iPhone 5/5s/5c : 320 * 568
//iPhone 6/6s : 375 * 667
//iPhone 6 Plus/6s Plus : 414 * 736

//普通屛幕(1, 3G, 3Gs): 1pt = 1px
//retina(视网膜)屏幕(4, 4s, 5, 5s, 5c, 6, 6s): 1pt = 2px
//高清屏(6 Plus, 6s Plus): 1pt = 3px

//UIWindow窗口类, 可以看到的都是试图, iOS应用, 至少有一个窗口, 所有的控件必须放到窗口上, 才能显示出来
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];//self.window表示属性
// Override point for customization after application launch.
//UIColor , 颜色类,
UIColor *color1 = [UIColor redColor];
UIColor *color2 = [UIColor colorWithRed:255 / 255 green:120 / 255. blue:3 / 255. alpha:1];//alpha阿尔法值, 0为完全透明, 1为完全
//    [UIColor brownColor]
//随机颜色
UIColor *randomColor = [UIColor colorWithRed:(arc4random() % 256) / 255.  green:(arc4random() % 256) / 255.  blue:(arc4random() % 256) / 255. alpha:1];
self.window.backgroundColor = randomColor;
//成为主窗口并显示
[self.window makeKeyAndVisible];

//UIView, 视图类, 继承于UIResponser
/*
UIView *aView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
//默认颜色是clear,透明的
aView.backgroundColor = [UIColor yellowColor];
[self.window addSubview:aView];

UIView *aView = [[UIView alloc] initWithFrame:CGRectMake(20, 20, 100, 100)];
UIView *bView = [[UIView alloc] initWithFrame:CGRectMake(375 - 120, 20, 100, 100)];
UIView *cView = [[UIView alloc] initWithFrame:CGRectMake(20, 667 - 120, 100, 100)];
UIView *dView = [[UIView alloc] initWithFrame:CGRectMake(375 - 120, 667 - 120, 100, 100)];
UIView *eView = [[UIView alloc] initWithFrame:CGRectMake(375 / 2 - 50, 667 / 2 - 50, 100, 100)];

aView.backgroundColor = [UIColor yellowColor];
[self.window addSubview:aView];

bView.backgroundColor = [UIColor yellowColor];
[self.window addSubview:bView];
cView.backgroundColor = [UIColor yellowColor];
[self.window addSubview:cView];
dView.backgroundColor = [UIColor yellowColor];
[self.window addSubview:dView];
eView.backgroundColor = [UIColor yellowColor];
eView.layer.cornerRadius = 30;
[self.window addSubview:eView];

//视图创建的过程
//1.开辟内存空间
//2.设置视图的属性(比如背景颜色)
//3.添加到父视图
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(100, 120, 100, 100)];
//背景色, 默认为clearColor
view.backgroundColor = [UIColor yellowColor];
//是否隐藏, 默认为NO
view.hidden = NO;
//不透明度, 默认为1
view.alpha = 0.5;
[self.window addSubview:view];

//视图的层级关系(和继承差不多)
//1.一个视图, 只能有一个父视图, 可以有多个子视图
//2.先添加, 显示在下面; 后添加, 显示在上面
//3.一个视图的frame, 都是基于父视图的坐标系
//4.子视图超出父视图的部分, 是可以显示的, 不能触摸(如果, 不想显示, 可以切掉 clipsToBounds)
UIView *aView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
aView.backgroundColor = [UIColor redColor];

[self.window addSubview:aView];

UIView *bView = [[UIView alloc] initWithFrame:CGRectMake(20, 20, 1000, 40)];
//超出父视图的部分, 是否切掉
aView.clipsToBounds = YES;
bView.backgroundColor = [UIColor greenColor]; //视图越界, 能看到. 但是不能触摸
[self.window addSubview:bView];

[aView addSubview:bView];//基于父视图的坐标系

//子视图数组
NSLog(@"%@", self.window.subviews);
NSLog(@"%@", aView.subviews);
//父视图
NSLog(@"%@", bView.superview);
NSLog(@"%@", aView.superview);

UIView *aView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
aView.backgroundColor = [UIColor redColor];
[self.window addSubview:aView];

UIView *bView = [[UIView alloc] initWithFrame:CGRectMake(120, 120, 100, 100)];
bView.backgroundColor = [UIColor greenColor];
[self.window addSubview:bView];

UIView *cView = [[UIView alloc] initWithFrame:CGRectMake(140, 140, 100, 100)];
cView.backgroundColor = [UIColor blueColor];
[self.window addSubview:cView];

UIView *dView = [[UIView alloc] initWithFrame:CGRectMake(130, 130, 100, 100)];
dView.backgroundColor = [UIColor yellowColor];

//在指定位置插入视图, 位置只算子视图, 从0开始
//    [self.window insertSubview:0 atIndex:2];

//在某个视图的上面插入一个视图
//    [self.window insertSubview:dView aboveSubview:bView];

//在某个视图下面插入一个视图
//    [self.window insertSubview:dView belowSubview:cView];

//调整子视图的层次

//最前面
//    [self.window bringSubviewToFront:cView];
//最后面
//    [self.window sendSubviewToBack:cView];
//交换
[self.window exchangeSubviewAtIndex:2 withSubviewAtIndex:3];

//UIView的属性
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
//背景颜色
view.backgroundColor = [UIColor yellowColor];
//是否隐藏
view.hidden = NO;
//不透明度
view.alpha = 1;
//父视图
//    view. superview;
//子视图数组
//    view. subviews
//超出父视图的部分是否切掉
view.clipsToBounds = YES;

[self.window addSubview:view];
//view.frame 假如想单独修改, 那么不能单独修改, 需要整体修改
//1
view.frame = CGRectMake(100, 200, 100, 100);
//2
CGRect rect1 = view.frame;
rect1.origin.y = 200;
view.frame = rect1;

NSLog(@"%@", NSStringFromCGRect(view.frame));

//修改view.center, 他也是一个整体
//1
//    view.center = CGPointMake(375 / 2, 667 / 2);
//2, 中心点, 基于父视图坐标系(相对于父类)
view.center = self.window.center;
NSLog(@"%@", NSStringFromCGPoint(view.center));

//view.bounds 边界, 基于自身坐标系, 视图在自身的坐标系中的位置和大小
NSLog(@"%@", NSStringFromCGRect(view.bounds));
view.bounds = CGRectMake(0, 0, 160, 100);//bound只会影响子视图的位置
NSLog(@"%@", NSStringFromCGRect(view.bounds));

//注意: bounds(0, 0, 宽, 高) 和 center(只有x, y 值)是相互不影响的

UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];
view.backgroundColor = [UIColor yellowColor];
[self.window addSubview:view];

view.bounds = CGRectMake(100, 100, 200, 200);
UIView *aView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
aView.backgroundColor = [UIColor blueColor];
[view addSubview:aView];
*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: