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

是否应该从loadView调用[super loadView]?

在iOS开发中,loadView是UIViewController生命周期中的一个方法,用于加载视图层次结构。在子类中重写loadView方法时,通常需要调用super loadView来确保父类的loadView方法也被执行。

调用super loadView的主要原因是为了确保父类的loadView方法能够执行必要的初始化工作,例如创建视图控件、设置布局等。如果不调用super loadView,可能会导致父类的loadView方法被跳过,从而导致一些重要的初始化步骤被忽略。

在绝大多数情况下,应该从loadView方法中调用super loadView。但也有一些特殊情况下可以不调用,例如当我们完全自定义视图层次结构,不需要使用父类的默认实现时。

总结起来,是否应该从loadView调用super loadView取决于具体的需求和情况。在大多数情况下,为了保证正确的初始化流程,建议调用super loadView。但在特殊情况下,可以根据实际需求决定是否调用。

腾讯云相关产品和产品介绍链接地址:

请注意,以上链接仅供参考,具体产品选择应根据实际需求进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

didReceiveMemoryWarning iOS开发

一、loadView 永远不要主动调用这个函数。view controller会在view的property被请求并且当前view值为nil时调用这个函数。如果你手动创建view,你应该重载这个函数。...如果你用IB创建view并初始化view controller,那就意味着你使用initWithNibName:bundle:方法,这时,你不应该重载loadView函数。...并把子类的view赋给view属性(property)(你创建的view必须是唯一的实例,并且不被其他任何controller共享),而且你重载的这个函数不应该调用super。...对于iOS2.x,你还必须在调用super dealloc方法前将这些引用置为nil。...四、结论 所以流程应该是这样: (loadView/nib文件)来加载view到内存 ——>viewDidLoad函数进一步初始化这些view ——>内存不足时,调用viewDidUnload函数释放

2.6K30
  • UIViewController生命周期

    但总的实现原理非常类似 通过这种方式加载视图,需要调用UIViewController类的initWithNibName:bundle:方法 通过loadview方法加载: 这就是通过代码加载...1、loadView loadView方法是用来负责创建UIViewController的view 首先,[super loadView]会先去查找与UIViewController相关联的xib文件,...每次访问UIViewController的view(比如controller.view、self.view)而且view为nil,loadView方法就会被调用。...继承关系来看,UIWindow继承自UIView,所以UIWindow除了具有UIView的所有功能之外,还增加了一些特有的属性和方法,而我们最常用的方法,就是在App刚启动时,调用UIWindow的...而通常我们的程序的界面都是处于Normal这个级别的,系统顶部的状态栏应该是处于StatusBar级别,提醒用户等操作位于Alert级别。

    1.9K10

    ViewController及View的生命周期1. 起因2. Controller的生命周期3. View的生命周期4. 内存警告

    四个方法如下: //将要显示,一定要调用super - (void)viewWillAppear:(BOOL)animated; // Called when the view is about to...NS_AVAILABLE_IOS(5_0); 在四个方法中: isMovingFromParentViewController 会在viewWillDisappear & viewDidDisappear 方法内部调用这个方法判断视图控制器的视图的隐藏是否因为视图控制器它的容器视图控制器移除...isBeingDismissed 会在viewWillDisappear & viewDidDisappear 方法内部调用这个方法判断视图控制器的视图的隐藏是否因为视图控制器被清退 (dismissed...调用时刻:每次访问Controller的View,当View为nil,就会调用loadView方法。...- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // 第一个判断条件:当这个view是否正在显示 // 第二个判断条件

    1.4K30

    UIViewController的生命周期及iOS程序执行顺序

    代码的执行顺序 1、alloc 创建对象,分配空间 2、init (initWithNibName) 初始化对象,初始化数据 3、loadViewnib载入视图,通常这一步不需要去干涉。...1)- (void)viewDidLoad; 一个APP在载入时会先通过调用loadView方法或者载入IB中创建的初始界面的方法,将视图载入到内存中。...viewDidLoad 此方法只有当viewnib文件初始化的时候才被调用loadView 此方法在控制器的view为nil的时候被调用。 此方法用于以编程的方式创建view的时候用到。...默认的实现是检查当前控制器的view是否在使用。...如果它的view不在当前正在使用的view hierarchy里面,且你的控制器实现了loadView方法,那么这个view将被release, loadView方法将被再次调用来创建一个新的view。

    1.9K110

    iOS开发--UIWindow与程序启动原理与两种创建控制器的方法

    Paste_Image.png 3.通过Xib 要是用控制器alloc】 initWithNibName:bundle:】 bundle传nil默认就是[NSBundle mainBundle] ?...Paste_Image.png 总结: loadView作用:自定义控制器的view loadView什么时候调用:第一次使用控制器的view的时候调用 注意:在这个方法中如果没有自定义view,就不能获取控制器的...view // 一旦重写了这个方法,就不要调用[super loadView] // 如果重写了这个方法,就不会去加载storyboard描述的控制器的View // LoadView 默认就可以加载...Paste_Image.png // 只有控制器的init方法底层会调用initWithNibName:bundle: ?...Paste_Image.png 即便加载loadView,也不会改变它的颜色,因为最终要调用ViewDidLoad,颜色还是最开始的红色 ?

    1.2K20

    ListView详解

    的长度,然后根据这个长度,调用getView()一行一行的绘制ListView的每一项。...界面上有多少个条显示,就会调用多少次的getView()方法;因此如果在每次调用的时候,如果不进行优化,每次都会使用View.inflate(….)的方法,都要将xml文件解析,并显示到界面上,这是非常消耗资源的...isMove = (firstVisibleItem + visibleItemCount == totalItemCount); } }); 可以有效实现事件scrollview...为了解决这个问题(如何将事件消费listview转到scrollview,就是子传父)我考虑过return true将事件消费掉,但是dispatchTouchEvent两者都会调用,不能这么做。...翻译过来就是: 你不应该同时使用ScrollView 和ListView,因为ListView负责自己的垂直滚动。

    1.2K60
    领券