iOS10 UI教程层次结构的事件
2016-11-25 15:49
260 查看
iOS10 UI教程层次结构的事件
iOS10 UI教程层次结构的事件,层次结构中存在7个事件,对于这些事件的介绍如表1-3所示。通过这些事件,可以监听视图,当视图在层次结构上发生变化时可以被拦截,也可以通过父视图或子视图进行管理。表1-3 层次结构的事件
事件 | 功能 |
didAddSubview(_:) | 当加入视图完成后调用 |
willRemoveSubview(_:) | 在删除视图之前调用 |
willMove(toSuperview:) | 当移动视图之前调用 |
didMoveToSuperview() | 当视图移动完成后调用 |
willMove(toWindow:) | 当视图移动到WINDOW之前调用 |
didMoveToWindow() | 当视图移动到WINDOW后调用 |
(1)创建一个基于UIView的类文件,命名为CustomView。
(2)打开CustomView.swift文件,编写代码,通过层次结构的事件监听视图。代码如下:
import UIKit class CustomView: UIView { //当视图移动完成后调用 override func didMoveToSuperview() { print("I have a superview!") } //当加入视图完成后调用 override func didAddSubview(_ subview: UIView) { print("The subView \(subview) has been added") } //当视图移动到WINDOW后调用 override func didMoveToWindow() { print("I've been attached to this window hierarchy:\(window!)") } }
(3)打开Main.storyboard文件,选择主视图,在Show the Identity inspector面板中找到Class,将其设置为刚才创建的类即CustomView。此时运行程序,会在应用程序输出窗口输出以下内容:
The subView <_UILayoutGuide: 0x7fbd57a00c40; frame = (0 0; 0 0); hidden = YES; layer = <CALayer: 0x600000028fe0>> has been added The subView <_UILayoutGuide: 0x7fbd57a07990; frame = (0 0; 0 0); hidden = YES; layer = <CALayer: 0x600000029000>> has been added I've been attached to this window hierarchy:<UIWindow: 0x7fbd55c05f70; frame = (0 0; 375 667); gestureRecognizers = <NSArray: 0x618000054430>; layer = <UIWindowLayer: 0x618000029dc0>> I have a superview!
iOS10 UI教程层次结构的事件
相关阅读:iOS10 UI教程视图和子视图的可见性
相关文章推荐
- iOS10 UI教程层次结构的事件
- iOS10 UI教程层次结构的事件
- iOS10 UI教程管理层次结构
- iOS10 UI教程子视图和父视图UI层次结构和Views继承
- iOS10 UI教程管理层次结构
- iOS10 UI教程管理层次结构
- iOS10 UI教程子视图和父视图UI层次结构和Views继承
- iOS10 UI教程子视图和父视图UI层次结构和Views继承
- iOS10 UI教程视图的边界与视图的框架
- iOS10 UI教程视图的中心位置
- iOS10 UI教程视图和子视图的可见性
- BlackBerry UI层次结构
- iOS10 UI教程视图的边界与视图的框架
- iOS10 UI教程视图的几何形状
- ModernUI教程:处理内容导航事件
- iOS10 UI教程基改变视图的外观与视图的可见性
- iOS10 UI教程基改变视图的外观与视图的可见性
- Launcher UI结构与事件传递处理分析
- iOS10 UI教程视图的边界与视图的框架
- iOS10 UI教程基础窗口的内容与设置起始窗口