前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS ViewController生命周期

iOS ViewController生命周期

作者头像
星宇大前端
发布2020-01-13 14:52:23
5190
发布2020-01-13 14:52:23
举报
文章被收录于专栏:大宇笔记大宇笔记

iOS 显示是 约束 -> 布局 -> 显示的过程,有时候你操作改变frame没有反应是因为还没有确定frame

TestCode


代码语言:javascript
复制
//
//  ViewController.swift
//  TestXib
//
//  Created by zhangyu on 2019/11/13.
//  Copyright © 2019 zy. All rights reserved.
//

import UIKit

class ViewController: UIViewController {
    
    override func loadView() {
        super.loadView()
        print("loadView")
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        print("viewDidLoad")
    }
    
    override func viewWillAppear(_ animated: Bool) {
       super.viewWillAppear(animated)
       print("viewWillAppear")
    }
    
    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        print("viewDidAppear")
    }
    
    override func viewWillLayoutSubviews() {
        super.viewWillLayoutSubviews()
        print("viewWillLayoutSubviews")
    }

    override func viewDidLayoutSubviews() {
        super.viewDidLayoutSubviews()
        print("viewDidLayoutSubviews")
    }
    
    override func updateViewConstraints() {
        super.updateViewConstraints()
        print("updateViewConstraints")
    }

}

打印结果


代码语言:javascript
复制
loadView
viewDidLoad
viewWillAppear
updateViewConstraints
viewWillLayoutSubviews
viewDidLayoutSubviews
viewDidAppear

分析


直接修改Frame

viewDidAppear 才能确定布局,需要在这个方法直接修改frame

如果不想在显示之后修改,需要修改约束,然后Layout,显示。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-11-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • TestCode
  • 打印结果
  • 分析
    • 直接修改Frame
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档