UI-UIView--UIViewController

-------------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;

posted on 2014-12-22 21:30  溜逗~~  阅读(239)  评论(0编辑  收藏  举报

导航