-------------UIView-------------
1、创建
UIView *view = [[UIView alloc]init];
2、设置位置
view.frame = CGRectMake(10, 40, 100, 200);
3、显示
[self.window addSubview:view];
4、背景色
view.backgroundColor = [UIColor blueColor];
5、设置中心 当中心改变的时候,视图的位置会随着中心的改变而改变。大小不变
view.center = CGPointMake(200, 200);
6.设置视图位置的方法:frame,bounds
//frame:它的对应的坐标系是世界坐标系(参考物是父视图),即以window的原点为原点作参考。(以父视图的原点为原点)
//bounds:它的对应的坐标系是本地坐标系(参考物是自己),以自己的原点为原点作参考
//注意:当只给view设置bounds的时候,view会以屏幕的原点为中心点
//当你在先设置了view的frame之后,再设置bounds,view会以frame的中心点为中心点,向四周伸缩
//bounds的(x,y)默认是0,进行设置也没有意义。不会影响view的位置
//当要获得一个view的大小的时候,使用bounds
//当设置view的位置的时候,用frame
view.bounds = CGRectMake(30, 300, 20, 40);
NSLog(@"%f,%f",view.center.x,view.center.y);
7、设置可交互性 有些子视图默认可交互,有些不能,要手动设置
view.userInteractionEnabled = YES;
//隐藏方式:透明度为0,hidden属性为YES
//8.透明度
view.alpha = 0.5;
//9.隐藏
view.hidden = NO;
//NSTimer 可以控制一个事件发生的时间及次数
//(NSTimeInterval):间隔的时间
//id:执行方法的对象
//SEL:执行的方法
//userInfo:nil
//BOOL:判断是否重复执行这个方法
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(createBlock:) userInfo:nil repeats:YES];
//使NSTimer对象失效
[timer invalidate];
//停止
[timer setFireDate:[NSDate distantFuture]];
//随机函数,可以获得随机的数
//例如:获得100以内的随机数 arc4random()%100
-----------UIImageView------------
1.加载背景图片
UIImageView *background = [[UIImageView alloc]initWithFrame:rect];
//jpg格式的图片,添加是要带着后缀名 png的可以省略
background.image = [UIImage imageNamed:@"back2.jpg"];
2、保存小鸟的图片
NSMutableArray *mutarray = [NSMutableArray array];
//全部放到数组里面
for (int i = 1; i<=18; i++) {
UIImage *image1 = [UIImage imageNamed:[NSString stringWithFormat:@"DOVE %i",i]];
[mutarray addObject:image1]; }
[bird setAnimationImages:mutarray];//在一定的时间里面要播放的图片张数
[bird setAnimationDuration:0.5];//动画持续的时间
[bird setAnimationRepeatCount:0];//0代表无限制
[bird startAnimating];//开始动画
[NSTimer scheduledTimerWithTimeInterval:1.0/60. target:self selector:@selector(birdMove:) userInfo:nil repeats:YES];
3、设置玩家
UIImage *image2 = [UIImage imageNamed:@"player"];
UIImageView *player = [[UIImageView alloc]initWithImage:image2];
player.frame = CGRectMake(100, 350, image2.size.width, image2.size.height);
player.center = CGPointMake(160, 350);
player.tag = 101;
//background要进行手动设置,才能交互
background.userInteractionEnabled = YES;
[background addSubview:player];
//[self.window addSubview:player];
//添加移动手势
UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(panPlayer:)];
//将手势添加到目标对象上面
[player addGestureRecognizer:pan];
//UIimageView本身不可进行交互,要手动设置
player.userInteractionEnabled = YES;
UIView之间可以的嵌套 作用:自定义控件
图片拉伸
UIImage *backImage = [[UIImage imageNamed:@"table_cell_bg"] stretchableImageWithLeftCapWidth:5 topCapHeight:5];
获取所有的视图
NSArray *array = [self.window subviews];
获取父视图
UIView *suView = [view1 superview];
将视图放在最上面
[self.window bringSubviewToFront :view1];
将视图放在最下面
[self.window sendSubviewToBack :view1];
交换两个子视图
[self.window exchangeSubviewAtIndex :0 withSubviewAtIndex :1];
删除子视图
[view1 removeFromSuperview];
----------------UIViewController--------------
UIViewController:作用:管理View,处理与view相关的事情。
注意:一个viewController对应一个view
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
//对于整形,如果事先没有存值,取出的是默认值0 可以根据单例值走不同的方法 把不同都视图控制器设置为根视图控制器
NSInteger signal = [defaults integerForKey:@"mySignal"];
我们要创建viewController,将view的相关内容交给viewController来处理,将viewController添加为window的根视图控制器,达到间接显示的目的
1.创建三个viewController
ZKLoginViewController *login = [[ZKLoginViewController alloc]init];
2.将登陆视图控制器设置成window的根视图控制器
self.window. rootViewController = login;
视图控制器跳转到下一视图控制器是根据模态跳转方式跳转的
注意:这里是一个栈结构 我们看到的肯定是栈顶元素。 跳转就是压栈过程
[self presentViewController :main animated:YES completion:nil];
返回到上一个界面,执行的退栈操作
注意:dismiss与present方法要结合使用
config. modalTransitionStyle = UIModalTransitionStyleCoverVertical;---- 跳转方式
[self dismissViewControllerAnimated :YES completion:nil];
注意:当一个UIViewController退栈之后就会消失 生命周期结束
正向传值:可以在洗一个UIViewController中设置一个属性 用来接收需要的值
ConfigViewController *config = [[ConfigViewController alloc]init];
config.userName = self.name;