UIView详解之二:视图的外观

1、背景颜色、透明度以及是否隐藏

@property(nullable,nonatomic,copy)UIColor*backgroundColor;

@property(nonatomic)CGFloatalpha;

@property(nonatomic,getter=isHidden)BOOL              hidden;

背景颜色属性BackgroundColor属性是UIView类中最长使用的属性之一,由于UIView是一个矩形区域,所以在实际的开发过程中,常常通过设置视图的背景颜色来检查视图的大小以及位置。

透明度alpha属性可以修改视图的透明度,可以实现一些虚化的效果,在一些游戏App中,游戏的按钮经常是虚化的效果。需要注意的是对于UIView以及其子类,当alpha的值小于等于0.01时,就不能够再响应用户交互了,例如:UIButton就不能够点击了。

是否隐藏hidden能够控制视图的显示与隐藏。

2、Frame/Bounds/Center

@property(nonatomic)CGRectframe;

@property(nonatomic)CGRectbounds;

@property(nonatomic)CGPointcenter;

Frame、Bounds以及Center是用来设置视图对象位置以及大小的属性,在对任何视图类对象进行初始化之后,建议大家紧接着就要去设置视图对象的Frame属性。在学习过程中,Frame、Bounds以及Center的区别和联系是比较难以理解的,主要是对视图的坐标系要有深刻理解,但对于初学者来说,可以记住如下要点即可:

绝对坐标系:屏幕的左上角是坐标原点(0,0);横向为X轴,纵向为Y轴;向左边移动X值减小,向右边移动X值增加;向下边移动Y值增加,向上边移动Y值减小;

每个视图的起始位置和大小由Frame来确定,frame是一个CGRect类型的属性,CGRect是一个结构体,里面有两个变量origin和size,其中origin是一个CGPoint点,指的是视图左上角的那个点的位置,决定了视图的位置;size是CGSize类型的,决定了视图的大小;

Frame:视图在其父视图坐标系中的位置和大小,建议大家在控件初始化之后,紧接着就去设置Frame,设置完成后,假如涉及到修改控件的位置、大小等,就不要再去修改Frame了;

Bounds:视图在其自己的坐标系中的位置和大小。Bounds属性中,视图的bounds.origin始终是(0,0),因此bounds属性最核心的作用是设置视图的大小,即bounds.size,当需要去修改视图大小的时候,可以修改bounds.size;

Center:视图中心点在父视图坐标系中的坐标,当需要修改视图对象的位置时,可以修改Center属性。

-(void)viewDidLoad{

[superviewDidLoad];

//添加view1到控制器视图self.view

UIView*view1=[[UIViewalloc]init];

view1.frame=CGRectMake(100,100,200,200);

view1.backgroundColor=[UIColoryellowColor];

[self.view addSubview:view1];

NSLog(@"view1.frame:%@",NSStringFromCGRect(view1.frame));

NSLog(@"view1.bounds:%@",NSStringFromCGRect(view1.bounds));

NSLog(@"view1.center:%@",NSStringFromCGPoint(view1.center));

//添加view2到控制器视图self.view

UIView*view2=[[UIViewalloc]init];

view2.frame=CGRectMake(0,0,100,100);

view2.backgroundColor=[UIColorredColor];

[self.view addSubview:view2];

NSLog(@"view2.frame:%@",NSStringFromCGRect(view2.frame));

NSLog(@"view2.bounds:%@",NSStringFromCGRect(view2.bounds));

NSLog(@"view2.center:%@",NSStringFromCGPoint(view2.center));

//添加View3到View1

UIView*view3=[[UIViewalloc]init];

view3.frame=CGRectMake(0,0,100,100);

view3.backgroundColor=[UIColorblueColor];

[view1 addSubview:view3];

NSLog(@"view3.frame:%@",NSStringFromCGRect(view3.frame));

NSLog(@"view3.bounds:%@",NSStringFromCGRect(view3.bounds));

NSLog(@"view3.center:%@",NSStringFromCGPoint(view3.center));

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,743评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,296评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,285评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,485评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,581评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,821评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,960评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,719评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,186评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,516评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,650评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,329评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,936评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,757评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,991评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,370评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,527评论 2 349

推荐阅读更多精彩内容

  • UIView(控件) 功能一:界面显示1. 屏幕上显示的所有UI元素都叫做控件,也有人叫做视图、组件;按钮(UIB...
    翻这个墙阅读 628评论 0 0
  • 转载:http://www.cocoachina.com/swift/20161201/18198.html 前言...
    F麦子阅读 4,302评论 2 8
  • 初识iOS APP开发#### 在iOS APP开发中, main函数仍是程序的入口和出口, 但main函数不需要...
    DeanYan阅读 6,138评论 0 3
  • 有时候真想找一个没有旁人的地方,静静地独处一会儿,抬头能看到蔚蓝的天空,低头能望到无尽的花海,想着那些经历过的美好...
    呱聊阅读 165评论 0 0
  • 超级速算名人堂 — 37 漫步 入选时间:2015年9月17日 入选级别:787级 入选理由:漫步,男,42岁,博...
    V5特湘叶叶阅读 251评论 0 0