UIView
2015-09-04 10:14
483 查看
//1.UIView创建和使用
// 重要性:
// (1) 常见控件父类或间接父类都是UIView
//UILabel->UIView
//UIImageView->UIView
//UIButton->UIControl->UIView
// (2)自定义控件
// 继承与UIView, view加上其他控件
// (3)使用UIView作为界面布局, UIView作为其他控件的容器
//理解:
显示一块矩形区域
UIView *view1 = [[UIView
alloc] init];
view1.frame =
CGRectMake(100, 100, 100, 100);
view1.backgroundColor = [UIColor
redColor];
[self.view
addSubview:view1];
//2.常用属性
//位置
//view1.frame
//只改大小,
不改位置
view1.bounds =
CGRectMake(0, 0, 50, 50);
view1.backgroundColor = [UIColor
yellowColor];
//使用tag区分不同控件
//view1.tag = 100;
//设置中心点位置
view1.center =
CGPointMake(50, 50);
//是否打开用户交互
//UILabel和UIImageView控件这个值是NO
// 按钮加入到UIImageView没有反应
view1.userInteractionEnabled =
YES;
//view设置圆角
view1.layer.cornerRadius = 10;
view1.clipsToBounds =
YES;
//是否隐藏
view1.hidden =
YES;
view1.hidden =
NO;
//透明度
view1.alpha = 0.7;
//3.常用方法
//view1 addSubview:<#(UIView *)#>
//界面上移除控件
//[view1 removeFromSuperview];
//视图层级关系方法
view1.frame =
CGRectMake(100, 100, 100, 100);
UIView *view2 = [[UIView
alloc] initWithFrame:CGRectMake(150, 150, 100, 100)];
view2.backgroundColor = [UIColor
blueColor];
[self.view
addSubview:view2];
//放到最前面
[self.view
bringSubviewToFront:view1];
//最后面
[self.view
sendSubviewToBack:view1];
//插入视图
UIView *view3 = [[UIView
alloc] initWithFrame:CGRectMake(125, 125, 100, 100)];
view3.backgroundColor = [UIColor
greenColor];
//[self.view addSubview:view3];
[self.view
insertSubview:view3 belowSubview:view2];
//属性
//所有子视图
//self.view.subviews
//父视图
//self.view.superview
//4.使用UIView进行控件自定义和界面布局
// view+2个label+一个图片
//原理:
只是原理展示, 控件定制需要继承
UIView *photoView = [[UIView
alloc] initWithFrame:CGRectMake(0, 300, 320, 100)];
photoView.backgroundColor = [UIColor
lightGrayColor];
[self.view
addSubview:photoView];
//头像
UIImageView *headImageView = [[UIImageView
alloc] initWithFrame:CGRectMake(20, 20, 60, 60)];
headImageView.image = [UIImage
imageNamed:@"defaultHead.png"];
[photoView addSubview:headImageView];
UILabel *label = [[UILabel
alloc] initWithFrame:CGRectMake(100, 20, 100, 30)];
label.text =
@"风景";
[photoView addSubview:label];
UILabel *timeLabel = [[UILabel
alloc] initWithFrame:CGRectMake(100, 60, 100, 30)];
timeLabel.text =
@"2014-08-26";
[photoView addSubview:timeLabel];
UITapGestureRecognizer *tap = [[UITapGestureRecognizer
alloc] initWithTarget:self
action:@selector(dealTap)];
[photoView addGestureRecognizer:tap];
//5.UIView的动画(扩展:
仿射变换)
UIImageView *bullet = [[UIImageView
alloc] initWithFrame:CGRectMake(10, 450, 20, 20)];
bullet.image = [UIImage
imageNamed:@"bullet.png"];
[self.view
addSubview:bullet];
// [UIView animateWithDuration:2 animations:^{
// bullet.frame = CGRectMake(300, 450, 50, 50);
// bullet.alpha = 0;
// }];
//
[UIView
animateWithDuration:4 delay:0
options:UIViewAnimationOptionAutoreverse
animations:^{
bullet.frame =
CGRectMake(300, 450, 50, 50);
//bullet.alpha = 0;
} completion:^(BOOL finished) {
[bullet removeFromSuperview];
}];
}
-(void)dealTap
{
NSLog(@"点击相册");
}
// 重要性:
// (1) 常见控件父类或间接父类都是UIView
//UILabel->UIView
//UIImageView->UIView
//UIButton->UIControl->UIView
// (2)自定义控件
// 继承与UIView, view加上其他控件
// (3)使用UIView作为界面布局, UIView作为其他控件的容器
//理解:
显示一块矩形区域
UIView *view1 = [[UIView
alloc] init];
view1.frame =
CGRectMake(100, 100, 100, 100);
view1.backgroundColor = [UIColor
redColor];
[self.view
addSubview:view1];
//2.常用属性
//位置
//view1.frame
//只改大小,
不改位置
view1.bounds =
CGRectMake(0, 0, 50, 50);
view1.backgroundColor = [UIColor
yellowColor];
//使用tag区分不同控件
//view1.tag = 100;
//设置中心点位置
view1.center =
CGPointMake(50, 50);
//是否打开用户交互
//UILabel和UIImageView控件这个值是NO
// 按钮加入到UIImageView没有反应
view1.userInteractionEnabled =
YES;
//view设置圆角
view1.layer.cornerRadius = 10;
view1.clipsToBounds =
YES;
//是否隐藏
view1.hidden =
YES;
view1.hidden =
NO;
//透明度
view1.alpha = 0.7;
//3.常用方法
//view1 addSubview:<#(UIView *)#>
//界面上移除控件
//[view1 removeFromSuperview];
//视图层级关系方法
view1.frame =
CGRectMake(100, 100, 100, 100);
UIView *view2 = [[UIView
alloc] initWithFrame:CGRectMake(150, 150, 100, 100)];
view2.backgroundColor = [UIColor
blueColor];
[self.view
addSubview:view2];
//放到最前面
[self.view
bringSubviewToFront:view1];
//最后面
[self.view
sendSubviewToBack:view1];
//插入视图
UIView *view3 = [[UIView
alloc] initWithFrame:CGRectMake(125, 125, 100, 100)];
view3.backgroundColor = [UIColor
greenColor];
//[self.view addSubview:view3];
[self.view
insertSubview:view3 belowSubview:view2];
//属性
//所有子视图
//self.view.subviews
//父视图
//self.view.superview
//4.使用UIView进行控件自定义和界面布局
// view+2个label+一个图片
//原理:
只是原理展示, 控件定制需要继承
UIView *photoView = [[UIView
alloc] initWithFrame:CGRectMake(0, 300, 320, 100)];
photoView.backgroundColor = [UIColor
lightGrayColor];
[self.view
addSubview:photoView];
//头像
UIImageView *headImageView = [[UIImageView
alloc] initWithFrame:CGRectMake(20, 20, 60, 60)];
headImageView.image = [UIImage
imageNamed:@"defaultHead.png"];
[photoView addSubview:headImageView];
UILabel *label = [[UILabel
alloc] initWithFrame:CGRectMake(100, 20, 100, 30)];
label.text =
@"风景";
[photoView addSubview:label];
UILabel *timeLabel = [[UILabel
alloc] initWithFrame:CGRectMake(100, 60, 100, 30)];
timeLabel.text =
@"2014-08-26";
[photoView addSubview:timeLabel];
UITapGestureRecognizer *tap = [[UITapGestureRecognizer
alloc] initWithTarget:self
action:@selector(dealTap)];
[photoView addGestureRecognizer:tap];
//5.UIView的动画(扩展:
仿射变换)
UIImageView *bullet = [[UIImageView
alloc] initWithFrame:CGRectMake(10, 450, 20, 20)];
bullet.image = [UIImage
imageNamed:@"bullet.png"];
[self.view
addSubview:bullet];
// [UIView animateWithDuration:2 animations:^{
// bullet.frame = CGRectMake(300, 450, 50, 50);
// bullet.alpha = 0;
// }];
//
[UIView
animateWithDuration:4 delay:0
options:UIViewAnimationOptionAutoreverse
animations:^{
bullet.frame =
CGRectMake(300, 450, 50, 50);
//bullet.alpha = 0;
} completion:^(BOOL finished) {
[bullet removeFromSuperview];
}];
}
-(void)dealTap
{
NSLog(@"点击相册");
}
相关文章推荐
- UITextField
- UIImageView以及动画
- Android Studio创建module缺少build文件夹
- String,StringBuffer与StringBuilder的区别??
- 原来UIWindow可以自定义frame
- sort与priority_queue的比较标准差异
- UILabel的文字与 label 的中间线对齐方式
- UILabel.text截取方式
- HDU 1005 Number Sequence(数论)
- POJ 2034 Anti-prime Sequences(数论+dfs)
- POJ 2478 Farey Sequence(欧拉函数)
- PHP基础----PHP常用功能----09include 与 require
- UI控件-----UIScrollView
- Leetcode Unique Binary Search Trees II
- Android酷炫的UI开源框架(转)
- hdu 4915 Parenthese sequence(贪心,模拟)
- IOS开发UI—Button基础
- UITextField相关使用方法
- SPOJ 375 Query on a tree(树链剖分)
- Meteor:应用UI状态