mvc与视图控制器作用分 uiviewcontroller的生命周期
来源:互联网 发布:龙虎榜数据 编辑:程序博客网 时间:2024/04/28 17:36
架构模式
(控制器Controller)-负责转发请求,对请求进行处理。当点击视图中按钮时将视图进行已编写好当算法进行一定运作。
(视图View) -界面设计人员进行图形界面设计。
@interface ViewController :UIViewController
- (IBAction)run:(id)sender;
- (IBAction)reset:(id)sender;
- (IBAction)rotat:(id)sender;
- (IBAction)deforma:(id)sender;
@property (weak,nonatomic) IBOutletUIButton *button;
@end
(模型Model) -程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。#import"ViewController.h"
#define kDate 20
@interface ViewController ()
@end
@implementationViewController
-(void)btn:(void(^)())abc{ //用bolck将相同的代码框起来用
[UIView beginAnimations:nil context:nil];//动画设置
[UIView setAnimationDuration:2.0];
abc();
[UIView commitAnimations];
}
- (IBAction)reset:(id)sender {
[self btn:^{
_button.transform=CGAffineTransformIdentity;
}];
}
#pragma mark 控制按钮走动(上下左右)
- (IBAction)run:(id)sender {
[self btn:^{
CGPoint tempCenter= _button.center;
// CGRect frame= _button.frame;
switch ([sender tag]) {
// case 1:frame.origin.x-=kDate;break;
// case 2:frame.origin.y+=kDate;break;
// case 3:frame.origin.x+=kDate;break;//当作转时在上会是的该图片变尺寸
// case 5 :frame.origin.y-=kDate;break;
case 1:tempCenter.x-=kDate;break;
case 2:tempCenter.y+=kDate;break;
case 3:tempCenter.x+=kDate;break;
case 5:tempCenter.y-=kDate;break;
default:
break;
}
_button.center=tempCenter;
}];
}
- (IBAction)rotat:(id)sender {
[self btn:^{
if ([sender tag]==4) {
_button.transform=CGAffineTransformRotate(_button.transform,M_PI/8*-1);
}else {_button.transform=CGAffineTransformRotate(_button.transform,M_PI/8*1);
NSLog(@"%@",sender);
}
}];
}
- (IBAction)deforma:(id)sender {
[self btn:^{
CGFloat scale =[sender tag] == 7? 1.2: 0.8 ;
_button.transform =CGAffineTransformScale(_button.transform, scale, scale);
}];
}
@end
#import "ViewController.h"
@interface ViewController ()
@end
@implementationViewController
- (id)initWithCoder:(NSCoder *)aDecoder{
if (self = [superinitWithCoder:aDecoder]){
NSLog(@"initWithCoder Called");
}
return self;
}
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"viewDidLoad Called");
// Do any additional setup after loading the view,typically from a nib.
}
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
NSLog(@"viewWillAppear Called");
}
-(void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
NSLog(@"viewDidAppear Called");
}
-(void)awakeFromNib{
NSLog(@"awakeFromNib Called");
}
-(void)viewWillLayoutSubviews{
NSLog(@"viewWillLayoutSubviews Called");
}
-(void)viewDidLayoutSubviews{
NSLog(@"viewDidLayoutSubviews Called");
}
@end
1 init函数(init;initWithFrame;initWithCoder;等)--初始化
2 awakeFromNib--在loadView之前的工作放在这里
3 viewDidLoad--注意,一个ViewController一个生命周期内这个函数只会调用一次
4 viewWillAppear -- view将要出现,每次View消失再出现都会调用
5 viewWillLayoutSubviews--简要对子试图进行布局
6 viewDidLayoutSubivews--完成对子试图布局
7 viewDidAppear--视图将要出现在屏幕上
8 viewWillDisappear--View将要消失
9viewDidDisappear--View已经消失
- mvc与视图控制器作用分 uiviewcontroller的生命周期
- mvc架构模式与视图控制器的作用
- iOS开发UIViewCOntroller视图控制器之间跳转切换举例,以及视图控制器生命周期的简单说明
- 视图控制器的生命周期
- 视图控制器的生命周期
- 视图控制器的生命周期
- 视图控制器的生命周期
- 视图控制器的生命周期
- 视图控制器 的生命周期
- 视图控制器的生命周期
- 视图控制器的生命周期
- 【iOS开发-20】UIViewCOntroller视图控制器之间跳转切换举例,以及视图控制器生命周期的简单说明
- MVC控制器与视图的简单约定
- UIviewController视图管理器的作用
- UIViewController介绍:2-控制器的生命周期
- 视图控制器的作用
- 视图控制器的作用
- 视图控制器的作用
- 第六周阅读程序二
- 随笔-Animation-动画效果整理
- Log4j配置失效导致spring等框架一直打印DEBUG级别的日志
- SlidingMenu的用法
- YTUOJ-A Simple Question
- mvc与视图控制器作用分 uiviewcontroller的生命周期
- java.lang.IllegalStateException: commit already called
- 任意进制转换《二》
- ROS学习路径
- 软件架构-基于现实情况
- log4j配置祥解
- 中朝友谊是鲜血凝结成的!
- 配置本地yum源
- 第33课时,实践1,利用循环求和