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;

时间: 2024-10-21 22:25:58

UI-UIView--UIViewController的相关文章

IOS开发-OC学习-常用功能代码片段整理

IOS开发-OC学习-常用功能代码片段整理 IOS开发中会频繁用到一些代码段,用来实现一些固定的功能.比如在文本框中输入完后要让键盘收回,这个需要用一个简单的让文本框失去第一响应者的身份来完成.或者是在做与URL有关的功能时,需要在Info.plist中添加一段代码进而实现让网址完成从Http到Https的转换,以及其他的一些功能. 在从一个新手到逐渐学会各种功能.代码.控件.方法如何使用的过程中,也在逐渐积累一些知识,但是一次总不会把这些东西都深刻记住并完全理解.所以在这儿记录下这些东西,用来

类的扩展--类目--ios

person+money.h  这是类目类 #import "Person.h" //这是扩展person类的接口类,独立一个文件 @interface Person (Money) -(void) haveMoney; @end person+money.m 这是类目类 #import "Person+Money.h" //这是扩展person类的实现类,独立一个文件 @implementation Person (Money) -(void) haveMoney

mac下修改mysql-root密码-各种权限问题解决

官方资料:http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html#resetting-permissions-unix 还有一个值得参考的mysql安装,与python-mysql安装博客http://hearrain.com/2011/01/498 据官方文档说, For example, if you run the server using the mysql login account, you should l

OC--单例--NSDate--归档--json--plist--协议

-------单例-------- 定义:一个类只允许创建一个对象,在任何地方调用对象方法或属性的时候,只能通过这个对象.注意:一般在单例类里面只创建有限的类方法. 作用:1.一个类只能有一个对象的时候,并且从一个大家都熟知的访问点访问它 2.保存值 //1.将本类的对象设置静态的,这样就能保证对象的唯一性. //manage是全局的 static  SetUpManage *manage  = nil; +(SetUpManage *)sharedManage{ @synchronized(s

SPRING源码解析-SPRING 核心-IOC

IoC 和 AOP是Spring的核心, 是Spring系统中其他组件模块和应用开发的基础.透过这两个模块的设计和实现可以了解Spring倡导的对企业应用开发所应秉承的思路: 易用性. POJO开发企业应用, 直接依赖于Java语言,而不是容器和框架. 提升程序的可测试性,提高软件质量. 提供一致性编程模型,面向接口的编程 降低应用的负载和框架的侵入性.IoC和AOP实现. 不作为现有解决方案的替代,而是集成现有. IoC和AOP这两个核心组件,特别是IoC容器,使用户在使用Spring完成PO

IOS开发-UIView之动画效果的实现方法(合集)

http://www.cnblogs.com/GarveyCalvin/p/4193963.html 前言:在开发APP中,我们会经常使用到动画效果.使用动画可以让我们的APP更酷更炫,最重要的是优化用户体验,但取决于动画的质量.像QQ.微信.新浪微博等APP,动画效果就很好了,至少我很喜欢它们的动画,让我使用起来感觉很顺畅,心情很开朗.本文会介绍UIView效果的实现方法,非核心动画. 一.使用UIView类实现动画 基本写法,代码必须放在Begin和Commit之间: [UIView beg

IOS-- UIView中的坐标转换

// 将像素point由point所在视图转换到目标视图view中,返回在目标视图view中的像素值 - (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)view; // 将像素point从view中转换到当前视图中,返回在当前视图中的像素值 - (CGPoint)convertPoint:(CGPoint)point fromView:(UIView *)view; // 将rect由rect所在视图转换到目标视图view中,返回在目

iOS-UIView动画

今天的主题是UIView的动画. 在iOS中UIView的动画是基于CALayer动画封装. 动画就是静态的图片通过一定频率显示,给人们动画的效果. UIView动画有基于类方法的实现和基于Block方法块的实现. 一.UIView基于类方法的实现的使用 类方法列表: @interface UIView(UIViewAnimation) + (void)beginAnimations:(NSString *)animationID context:(void *)context; // addi

target-action设计模式--主要为Button的方法重写

新建两个类MainViewController/ButtonView ButtonView.h #import <UIKit/UIKit.h> @interface ButtonView : UIView //实现target-action设计模式 //点击的时候让谁去执行方法 @property (nonatomic , assign) id target; //要执行的方法 @property (nonatomic , assign) SEL action; //模拟一个UIButton的