iOS UI 基础

一、什么是UIWindow?

(1)window是窗口,每个app都需要借助window将内容展现给用户看
(2)在iOS中,使⽤用UIWindow类来表示窗口,通常一个应用程序只创建 一个UIWindow对象
(3)window的主要作⽤用是呈现内容给⽤用户,我们不会对window做太多操作。
(4)创建UIWindow代码

self.window=[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
	//[UIScreen mainScreen]是获得当前设备屏幕的方法
	//为window设置背景色,一般的开发不需要设置
	[self.window setBackgroundColor:[UIColor redColor]];
	//设置window显示
	[self.window makeKeyAndVisible];

二、如果不采用系统默认的window怎么自己处理

不采用系统默认的window需要先自己创建一个window,并且在main interface里面去掉默认值

三、创建一个UIView。

view(视图):代表屏幕上的一个矩形区域
不同的控件代表不同种类的view
1、开辟空间并初始化视图(初始化时,给出视图位置和⼤小)
2、对视图做一些设置(比如:背景颜色)
3、将视图添加到window上进⾏行显示
4、释放视图对象
5、代码
//创建一个视图
    	UIView *myView=[[UIView alloc]initWithFrame:CGRectMake(100,100,120,120)];
		//结构体代表距父对象的x、y、和自身的 宽度、高度
    	[myView setBackgroundColor:[UIColor yellowColor]];//设置view的背景颜色
    	[self.window addSubview:myView];//把view添加到父容器中

四、UIView的常用属性:frame,bounds、backgroundColor、hidden、alpha、tag

UIView的常用属性
1、frame是view的重要属性,是我们做视图布局的关键,它决定了视图 的⼤小和位置
2、bounds(边界)也是view的重要属性,⽤用于定义⾃己的边界。它同frame一样是一个CGRect结构体变量。
	当一个view设置bounds时,会把⾃己当成⼀个容器,定义⾃己的边界⼤小以及左上⾓的初始坐标。
	当⼦视图添加到此视图时,会根据bounds指定的原点(0,0)计算frame,⽽非左上角。
3、hidden:控制视图的显隐
	redView.hidden = YES;//隐藏redView redView.hidden = NO;//显⽰示redView!
4、alpha:控制视图的不透明度(⼦子视图也⼀一起 透明),取值范围0~1
	redView.alpha = 0.8;
5、superview:获取本视图的⽗父视图
	UIView *superView = [redView superView];
6、subviews:获取本视图的所有⼦子视图
	NSArray *subviews = [redView subviews];
7、tag:给视图添加标记,被加完标记的视 图可以使⽤用viewWithTag:方法取出
	redView.tag = 100;
	UIView *view = [superview viewWithTag:100];

五、视图的层级关系

先创建的视图层级小,后面的视图可能会覆盖前面的视图
父视图可以改变层级关系
添加视图的方法:addSubview:
插入视图的方法:
	- (void)insertSubview:(UIView *)view belowSubview:(UIView *)siblingSubview;
	- (void)insertSubview:(UIView *)view aboveSubview:(UIView *)siblingSubview;	
	- (void)insertSubview:(UIView *)view atIndex:(NSInteger)index;

六、在IOS开发中,代码通常都写在哪里?

在iOS开发中,代码通常写在viewControl里面,而不写在delegate里面。app靠window呈现,一般一个程序只创建一个window。在window上呈现view的内容,我们不会对window做太多的操作。

七、UIView的简单动画

//动画开始
    		[UIView beginAnimations:nil context:nil];
    		//设置动画时序的时间
    		[UIView setAnimationDuration:3.0f];
    		//动画的最终结果
   		[self.window viewWithTag:1].frame=CGRectMake(10, 400, 100, 100);//对view进行移动
    		[self.window viewWithTag:1].alpha=0;//设置透明度
    		//提交动画
    		[UIView commitAnimations];

八、UILabel的常用属性

//静态显示文字
    	UILabel *label1=[[UILabel alloc]initWithFrame:CGRectMake(100, 100, 200, 150)];
    	[label1 setBackgroundColor:[UIColor cyanColor]];

   	//设置显示文字
    	label1.text=@"hello lalallalalalallaalaallala~~~~~~~~~";

    	//设置文字对齐方式
    	label1.textAlignment=NSTextAlignmentCenter;

    	//设置字体大小
    	[label1 setFont:[UIFont systemFontOfSize:30]];

    	//设置行数(0代表自动适应)
    	[label1 setNumberOfLines:0];

    	//设置断行样式
    	[label1 setLineBreakMode:NSLineBreakByTruncatingHead];

    	//设置阴影
    	[label1 setShadowOffset:CGSizeMake(2, 2)];//设置偏移量
    	[label1 setShadowColor:[UIColor whiteColor]];//设置阴影颜色
  
    	[self.view addSubview:label1];
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值