UIEvent,UIResponder
一.事件:触摸事件 摇晃事件 远程遥控事件
1.触摸事件
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event
2.摇晃事件
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event
- (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event
Application.m
MainViewController.m
重点:button.userInteractionEnabled = NO; 是指用户不参与响应者链
所以没有执行button的方法
无论点击屏幕任何地方都可以实现
触摸实现的成果如下:
若改为:button.userInteractionEnabled = YES;
则点击交互的地方才会执行button方法:
二.容器视图控制器(重点)
举例:登录系统
把登陆界面 注册界面 忘记密码界面分别放到三个不同的视图控制器中,
创建一个容器视图控制器ContainerViewController,装入之前建好的三个视图控制器
ContainerViewController.m中写入:
// 1.创建一个新的视图控制器
LoginViewController *loginVC= [[LoginViewController alloc] init];
// 2.将第二个视图控制器的view 添加到 self.view上
[self.view addSubview:loginVC.view];
// 容器视图控制器
[self addChildViewController:loginVC];
// 3.内存管理
[loginVC release];
// 将一个view从父视图移除
[view removeFromSuperview];