总结一下UIView的常见用法:
直接看代码吧~
- (void)viewDidLoad {
[super viewDidLoad];
/*
//x,y,宽,高
CGRect rect=CGRectMake(20, 20, 200, 200);
//初始化视图
UIView *myview=[[UIView alloc]initWithFrame:rect];
//设置背景色
myview.backgroundColor=[UIColor greenColor];
//添加子视图
[self.view addSubview:myview];
UIView *myview1=[[UIView alloc]initWithFrame:CGRectMake(90, 90, 200, 200)];
//myview1.backgroundColor=[UIColor redColor];//添加子视图
[self.view addSubview:myview1];
self.view.backgroundColor=[UIColor grayColor];
//输出屏幕尺寸
NSLog(@"%@",NSStringFromCGRect(self.view.frame));
//输出边界
NSLog(@"%@",NSStringFromCGRect(self.view.bounds));
//相等父视图的具体坐标
NSLog(@"%@",NSStringFromCGRect(myview.frame));
//边界,只是显示控件大小
NSLog(@"%@",NSStringFromCGRect(myview.frame));
//显示控件中心点坐标(相对于父视图)
NSLog(@"%@",NSStringFromCGPoint(myview.center));
//更改中心坐标
myview.center=CGPointMake(150, 350);
//设置是否允许用户交互
//self.view.userInteractionEnabled=NO;
if (self.view.isUserInteractionEnabled) {
NSLog(@"可以操作");
}else{
NSLog(@"不允许操作");
}
myview.tag=1;//设置控件的唯一标识
//通过tag获取控件对象并打印
NSLog(@"%@",[self.view viewWithTag:1]);
//通过tag获取控件对象,并赋给新的对象
UIView *newview=(UIView *)[self.view viewWithTag:1];
//修改新对象的值
newview.backgroundColor=[UIColor yellowColor];
*/
/*
_aview=[[UIView alloc]initWithFrame:CGRectMake(50, 50, 100, 100)];
self.aview.backgroundColor=[UIColor greenColor];
[self.view addSubview:_aview];
_bview=[[UIView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];
self.bview.backgroundColor=[UIColor yellowColor];
[self.view addSubview:_bview];
_cview=[[UIView alloc]initWithFrame:CGRectMake(150 , 150, 100, 100)];
self.cview.backgroundColor=[UIColor redColor];
[self.view addSubview:_cview];
//子视图
NSLog(@"%@",self.view.subviews);
//父视图
NSLog(@"%@",self.view.superview);
//将子视图放最前层
//[self.view bringSubviewToFront:_aview];
//将子视图放到最底层
//[self.view sendSubviewToBack:_cview];
//交换制定索引位置的视图,注意视图的底层存在calayer,自己的视图从2开始索引
//[self.view exchangeSubviewAtIndex:2 withSubviewAtIndex:4];
UIView *dview=[[UIView alloc]initWithFrame:CGRectMake(200, 200, 100, 100)];
dview.backgroundColor=[UIColor blueColor];
//将视图插入到制定视图的上面
//[self.view insertSubview:dview aboveSubview:_cview];
[self.view insertSubview:dview atIndex:4];
[self.view insertSubview:dview belowSubview:_cview];
//移除子视图
[_cview removeFromSuperview];
*/
_aview=[[UIView alloc]initWithFrame:CGRectMake(50, 50, 200, 200)];
self.aview.backgroundColor=[UIColor greenColor];
//[self.view addSubview:_aview];
_bview=[[UIView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];
self.bview.backgroundColor=[UIColor yellowColor];
//[self.view addSubview:_bview];
_cview=[[UIView alloc]initWithFrame:CGRectMake(25 , 25, 50, 50)];
self.cview.backgroundColor=[UIColor redColor];
//[self.view addSubview:_cview];
[_aview addSubview:_bview];
[_bview addSubview:_cview];
[self.view addSubview:_aview];
//移除自身后,包含的子视图也被移除
//[_bview removeFromSuperview];
//变换不可以叠加!
//变换角度
//self.aview.transform=CGAffineTransformMakeRotation(3.14/2);
//水平和竖直缩放
//self.aview.transform=CGAffineTransformMakeScale(1, 2);
//水平竖直移动
//self.aview.transform=CGAffineTransformMakeTranslation(100, 100);
//隐藏控件
//self.aview.hidden=YES;
//透明度0-1
//self.aview.alpha=0.5;
//autoresizesSubviews
//UIViewAutoresizingMask
//sizeToFit
//opaque
//tintcolor
//gusture
}
//方法还有很多,大家多看开发文档吧~
附上今天的作业:
- (void)viewDidLoad {
[super viewDidLoad];
int k=0;
//第一层循环,用来控制行数
for (int i=1; i<9; i++) {
//第二层循环,用来控制列数
for (int j=1; j<9; j++) {
k++;
//设置x,y,宽,高
UIView *xview=[[UIView alloc]initWithFrame:CGRectMake(j*40, i*40, 40, 40)];
//添加一个label,来为每一个格子设置序号(预习着玩的~)
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(10, 10, 20, 20)];
//将序号作为当前label的值
label.text=[NSString stringWithFormat:@"%d",k];
//进行当前格子的颜色判断
if ((i+j)%2==0) {
//如果i+j能被2整除则涂黑色
xview.backgroundColor=[UIColor blackColor];
//设置黑色格子中的label文字为红色
label.textColor=[UIColor redColor];
}else {
//否则格子涂红色
xview.backgroundColor=[UIColor redColor];
}
//添加图层到主视图
[self.view addSubview:xview];
//设置label文字为居中
label.textAlignment=NSTextAlignmentCenter;
//将label加入到视图中
[xview addSubview:label];
NSLog(@"(%d,%d) %d\n",i,j,i+j);
}
}
}