首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS小技巧·把子视图控制器的视图添加到父视图控制器

把子视图控制器的视图添加到父视图控制器并覆盖 添加子控制器 #pragma mark - 添加子控制器 - (void)addSubControllers{ [self addChildViewController...childViewController.view mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self.view); }]; } 把子视图控制器的视图添加到父视图控制器的指定容器视图...,适当时机跳转 添加子控制器 #pragma mark - 添加子控制器 - (void)addSubControllers { _childViewController = [[InfoViewController...removeFromSuperview)]; [self fitFrameForChildViewController:_childViewController]; //设置默认显示在容器View的内容...[self.contentView addSubview:_childViewController.view]; } 子VC的布局约束 #pragma mark - 子VC的布局约束 - (void

96720

UIViewController生命周期

由于视图由视图控制器管理,所以讨论视图的加载方式时,主要讨论视图控制器的加载方式。 通过Storyboard加载:这是苹果推荐的方式。...与KeyWindow 1、UIWindow 在iOS App中,UIWindow是最顶层的界面内容,我们使用UIWindow和UIView来呈现界面。...2、UIWindow的主要作用有: 1.作为UIView的最顶层容器,包含应用显示所有的UIView; 2.传递触摸消息和键盘事件给UIView; 把view添加到uiwindow 3、把view...添加到uiwindow上面 (1)直接将控制器的view添加到UIWindow中,并不理会它对应的控制器 [self.window addsubview:vc.view]; (2)设置uiwindow...的根控制器,自动将rootviewcontroller的view添加到window中,负责管理rootviewcontroller的生命周期 [self.window.rootviewcontroller

2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    iOS-UIWindow详解

    iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的View,最后将控制器的View添加到UIWindow上,于是控制器的View就显示在屏幕上了。...那么UIWindow是如何将View显示到屏幕上的呢 这里有三个重要的对象UIScreen,UIWindow,UIView。...系统在加载storyboard的时候会做以下三件事情 创建窗口 加载mian.storyboard 并实例化view controller 分配新视图控制器到窗口root viewcontroller...[self.window addsubview:rootVc.view];可直接将控制器的view添加到UIWindow中,并不理会它对应的控制器,但是这种方法违背了MVC原则,当我们需要处理一些业务逻辑的时候就很麻烦了...3.通过storyboard加载控制器 刚才我们提到过系统在加载storyboard的时候会做以下三件事情 创建窗口 加载mian.storyboard 并实例化view controller 分配新视图控制器到窗口

    2K40

    【IOS开发基础系列】UIView专题

    iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的view,最后将控制器的view添加到UIWindow上,于是控制器的view就显示在屏幕上了。...补充:UIWindow是创建的第一个视图控件(创建的第一个对象是UIapplication)如下图:     添加         先创建UIwindow,再创建控制器,创建控制器的view,然后将控制器的...2.把view添加到uiwindow         创建一个控制器,把view添加到uiwindow上面(有两种方式)     (1)直接将控制器的view添加到UIWindow中,并不理会它对应的控制器...    [self.window addsubview: vc.view];     (2)设置uiwindow的根控制器,自动将rootviewcontroller的view添加到window中,负责管理...提示:不通过控制器的view也可以做开发,但是在实际开发中,不要这么做,不要直接把view添加到UIWindow上面去。因为,难以管理。

    70630

    如何在Xcode下预览含有Core Data元素的SwiftUI视图

    如何在Xcode下预览含有Core Data元素的SwiftUI视图 从SwiftUI诞生之日起,预览(Canvas Preview )一直是个让开发者又爱又恨的功能。...通常此种情况下,会影响很多的视图,甚至全部的视图都不能预览。 用于修复标准模拟器故障的经验同样适用于排查预览故障 在使用标准模拟器进行程序调试时,我们会碰到由于模拟器的原因产生的各种奇异状况。...可以在预览视图中看到对应的UUID目录名(必须在动态预览模式下才会显示)。 image-20210827150544279 通过清空对应的目录,即可完成上面的1、4、5项。...在这种模式下,通常我们不会在视图中执行复杂的行为(同视图描述无关),通过向Store发送Action让Reducer完成程序的State调整,视图仅仅是对当前状态的一种呈现。...常见的Core Data元素视图预览故障 在应用程序可以正常执行的情况下,真正由于Core Data因素导致的预览崩溃的原因其实并不多。

    5.2K10

    iOS开发系列——纯代码实现iOS开发

    新建的视图控制器默认情况下是无法加载到程序运行界面上的,此时需要在应用程序代理的程序加载完毕事件中手动加载并显示我们的视图。...,这个控制器距离UIWindow是最近的;设置一个控制器为根控制器和直接通过addSubView添加控制器的视图(view属性)到window并不完全一样(例如如果仅仅添加控制器视图那么应用虽然可以显示但是不支持旋转...UIWindow对象,同时把我们的视图控制器KCMainController设置为UIWindow的根视图控制器,然后设置这个UIWindow为主窗口并可见。...当主窗口设置为可见过程中会调用视图控制器的loadView方法来加载视图(注意视图控制器的loadView方法是延迟加载的,第一次调用视图控制器的view属性才会调用此方法;由于makeKeyAndVisible...方法中会使用视图控制器的view属性所以此时会调用视图控制器的loadView方法),视图加载完之后调用viewDidLoad方法,在这个方法中我们添加登录相关控件并将这些控件加载到视图控制器KCMainViewController

    3.6K60

    IOS开发之视图和视图控制器

    在UIKit框架中都有一个UIWindow来容纳我们的View。应用程序中几乎全部的可视控件都是UIView以及UIView的子类的实例,并且UIWindow也是UIView的子类。...UIWindow可以不借助于父类视图显示在屏幕上,其余的视图都需要添加到父视图中才能显示。...窗口是用来显示视图的,下面我们将会结合着实例来具体的学习一下IOS中的View和ViewController         1.首先我们需要建一个EmptyProject来测试我们的View和ViewController...2.在学习UIView之前我们先在我们的EmptyProject中添加一个视图,看一下效果,上面的代码是为我们的EmptyProject添加一个UIWindow,是系统为我们创建的,我们接下来要放置的UIIView...上面视图部分先就说这么多吧,那么我们的视图控制器应如何使用呢?

    1.8K70

    基础篇-UIApplication、UIWindow以及程序的启动流程看我就够了

    iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的View,最后将控制器的View添加到UIWindow上,于是控制器的View就显示在屏幕上了。...那么UIWindow是如何将View显示到屏幕上的呢? 这里有三个重要的对象UIScreen,UIWindow,UIView。 UIScreen对象识别物理屏幕连接到设备。...UIWindow的层级 UIWindow是有层级的,层级高的显示在最外面,当层级相同时,越靠后调用的显示在外面。...分配新视图控制器到窗口root viewcontroller,然后使窗口显在示屏幕上。...1.创建窗口 UIWindow。 2. 创建并实例化view controller 3. 分配新视图控制器到窗口root viewcontroller,然后使窗口显在示屏幕上。

    1.6K20

    IOS开发系列——UIView专题之一:UIWindow篇

    iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的view,最后将控制器的view添加到UIWindow上,于是控制器的view就显示在屏幕上了。...补充:UIWindow是创建的第一个视图控件(创建的第一个对象是UIapplication)如下图: 添加 先创建UIwindow,再创建控制器,创建控制器的view,然后将控制器的view添加到UIWindow...2.把view添加到uiwindow 创建一个控制器,把view添加到uiwindow上面(有两种方式) (1)直接将控制器的view添加到UIWindow中,并不理会它对应的控制器 [self.window... addsubview:vc.view]; (2)设置uiwindow的根控制器,自动将rootviewcontroller的view添加到window中,负责管理rootviewcontroller...提示:不通过控制器的view也可以做开发,但是在实际开发中,不要这么做,不要直接把view添加到UIWindow上面去。因为,难以管理。

    93530

    Cocoa编程中视图控制器与视图类详解

    每个iPhone用户界面都是由显示在UIWindow(这其实也是个特殊的UIView)内的众多UIView及其专门化子类构建的。... mainBundle] infoDictionary] objectForKey:@"CFBundleName"]; //可使标题自动反映运行的应用程序名称  导航控制器加载模态视图控制器:  通常情况下...或其他任何类型的视图控制器),并通过设置栏的viewControllers属性将其添加到选项卡栏,使每个选项卡对应一个试图控制器。...事件处理 如图所示,一般情况下,当一个视图不响应用户事件时,它会将事件传递给它的父视图。但是,当视图被视图控制器管理时,它会将事件首先传递给视图控制器。...如果视图控制器也不处理该事件,则视图控制器会将数据传递给视图控制器视图的超类,一般是UIWindow.

    5.1K50

    iOS四大对象之UIWindow及四大对象之间的关系1. UIWindow使用纯代码加载根控制器2. UIWindow的创建过程3. 四大对象之间的关系

    UIWindow/使用纯代码加载根控制器 UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow -iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的...view,最后将控制器的view添加到UIWindow上,于是控制器的view就显示在屏幕上了 创建的第一个对象是:UIApplication 一个iOS程序之所以能显示到屏幕上,完全是因为它有UIWindow...UIViewController *mainController = [[UIViewController alloc] init]; // 给窗口指定根视图控制器 window.rootViewController...),自动把该控制器设置为UIWindow的根控制器 接下来再将window显示出来,即看到了运行后显示的界面。...在该方法中,创建一个Window 然后创建一个控制器,并把该控制器设置为UIWindow的根控制器 接下来再将window显示出来,即看到了运行后显示的界面。 3.

    1.8K30

    【iOS 开发】iOS 开发 简介 (IOS项目文件 | MVC 模式 | 事件响应机制 | Storyboard 控制界面 | 代码控制界面 | Retina 屏幕图片适配)

    属性 : 代表 IOS 应用程序的窗口, 一个应用只需创建一次 UIWindow 窗口; -- FKViewController 属性 : 代表视图控制器, 系统创建控制器时, 通常会加载对应的 xib...、并显示viewController视图控制器关联的用户界面 self.window.rootViewController = self.viewController; // 将该UIWindow对象设为主窗口..., 箭头指向需要加载的 视图控制器; -- 移动箭头 : 视图中只有一个 UI 控制器, 移动箭头始终指向唯一的 一个 UI 控制器; -- 好处 : 可以直观地看到多个视图之间的协作关系, 可以在 Interface...Builder 中配置视图之间的切换关系; -- 图示 :  (3) 工具图标 界面设计文件的 工具图标 :  -- 缩小 : 多个视图控制器在同一个窗口, 缩小界面可以同时查看所有的 视图控制器;...、并显示viewController视图控制器关联的用户界面 self.window.rootViewController = self.viewController; // 将该UIWindow对象设为主窗口

    5K30

    告别单一视角:DA4LG在多视图设置下的惊艳表现 !

    实验结果表明,DA4LG在视觉和非视觉语言描述方面表现出色,且与观察的完整性无关。 在语言接地基准测试SNARE中,DA4LG在单视图设置和多视图设置下分别取得了83.8%和86.8%的最先进性能。...DA4LG在单视图和多视图设置下均取得了最先进(SOTA)的性能。此外,通过仿真实验,DA4LG与现有模型相比展示了泛化能力和鲁棒性。...与Thomason等人[42]和Mitral等人[28]的多视图感知增强方法相比,作者的DA4LG不受视图数量或视图选择的影响。...SNARE是一个基准,用于在给定语言描述的情况下,从多视角中选择具有微小差异的正确目标。集合中的每个数据都有视觉或盲目的标签。...在基准测试上的评估表明,DA4LG在单视图和多视图设置中分别达到了83.8%和86.8%的最新性能。实验结果表明,与现有工作相比,作者提出模型的泛化能力和鲁棒性。

    13110

    UIview 和CALayer、UIWindow

    UIView侧重于对显示内容的管理,CALayer侧重于对内容的绘制。 由此可见UIView确实是CALayer 的高级封装。...但归根到底CALayer是这一切的基础,如果没有CALayer,UIView自身也不会存在,UIView是一个特殊的CALayer的实现,添加了响应事件的能力。...UIwindow是UIView的子类,UIWindow的主要作用:一是提供一个区域来显示UIView,二是将事件(event)的分发给UIView,一个应用基本上只有一个UIWindow....iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的view,最后将控制器的view添加到UIWindow上,于是控制器的view就显示在屏幕上了。...一个iOS程序之所以能显示到屏幕上,完全是因为它有UIWindow。即没有UIWindow,就看不见任何UI界面。

    65460

    史上最详细的iOS之事件的传递和响应机制-原理篇

    总结一下 1.点击一个UIView或产生一个触摸事件A,这个触摸事件A会被添加到由UIApplication管理的事件队列中(即,首先接收到事件的是UIApplication)。...如果当前view是控制器的view,那么控制器就是上一个响应者,事件就传递给控制器;如果当前view不是控制器的view,那么父视图就是当前view的上一个响应者,事件就传递给它的父视图 2>在视图层次结构的最顶级视图...首先看initial view能否处理这个事件,如果不能则会将事件传递给其上级视图(inital view的superView);如果上级视图仍然无法处理则会继续往上传递;一直传递到视图控制器view...controller,首先判断视图控制器的根视图view是否能处理此事件;如果不能则接着判断该视图控制器能否处理此事件,如果还是不能则继续向上传 递;(对于第二个图视图控制器本身还在另一个视图控制器中,...则继续交给父视图控制器的根视图,如果根视图不能处理则交给父视图控制器处理);一直到 window,如果window还是不能处理此事件则继续交给application处理,如果最后application还是不能处理此事件则将其丢弃

    11.4K70

    IOS 与ANDROID框架及应用开发模式对照一

    二 应用开发都採用了模型-视图-控制器(MVC) 设计模式 如IOS框架中的视图控制器对象担当MVC模式中的控制器角色。管理应用程序内容在屏幕上的呈现。...视图控制器负责显示和管理单个视图及其分视图,以及那些视图与应用程序的其它部分之间的交互。呈现时。视图控制器将视图安装到应用程序的窗体中,使它们显示出来。...并使用该键来指定使用的主 nib 文件。 IOS框架的窗体相应一个 UIWindow 对象,UIWindow 对象协调一个或多个视图在屏幕上的呈现。 大多数应用程序仅仅有一个窗体。...用于在主屏幕上呈现内容,但应用程序可能会有另外一个窗体,将内容显示在外接显示器上。 要更改您的应用程序的内容,需使用视图控制器,来更改在相应窗体中显示的视图。...而android 系统没有独立的视图控制器对象,而由应用程序的ACTIVITY组件担当视图控制器角色,用来创建和载入、呈现视图,通过模型适配器Adapter接口载入模型对象提供的数据及更新显示到视图上。

    1.1K20
    领券