《随堂笔记iOS UI课程》--事件,响应者链,容器视图控制器

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

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页