首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏程序员读书笔记

    UIViewController present UIViewController 的问题

    今天写了个demo才发现,当尝试在函数: func application(_ application: UIApplication, didFinishLaunchingWithOptions la

    1.3K40发布于 2019-07-05
  • 来自专栏慎独

    UIViewController生命周期分析

    做一个实验,通过实验来分析viewController的生命周期。 和生命周期几个相关的方法 - (void)viewDidLoad { [super viewDidLoad]; NSLog(@"FirstVC viewDidLoad"); } -(void)viewWillAppear:(BOOL)animated { [super viewWillAppear]; NSLog(@"FirstVC viewWillAppear"); } - (void)didRe

    1K40发布于 2018-06-01
  • 来自专栏iOS类型转换

    iOS NSString类型转UIViewController

    dict = [array objectAtIndex:indexPath.row]; NSString * str = [dict objectForKey:@"viewController"]; UIViewController

    71330编辑于 2022-05-18
  • 来自专栏Helloted

    UIViewController生命周期

    一、视图控制器 UIViewController采用懒加载的方式,也就是说第一次访问到view属性时才会加载或创建它。 这需要我们在loadView 方法中,通过编程创建自己的视图层次,并且把把根视图赋值给UIViewController的view属性。 1、loadView loadView方法是用来负责创建UIViewController的view 首先,[super loadView]会先去查找与UIViewController相关联的xib文件, 通过加载xib文件来创建UIViewController的view 如果没有找到相关联的xib文件,就会创建一个空白的UIView,然后赋值给UIViewController的view属性 默认不用实现 每次访问UIViewController的view(比如controller.view、self.view)而且view为nil,loadView方法就会被调用。

    3.1K10编辑于 2022-06-06
  • 来自专栏云原生布道专栏

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

    1 UIViewController机制 1.1 生命周期 UIViewController生命周期     理解view的生命周期:         在UIViewController 出现unbalanced calls to begin/end appearance transitions for uiviewcontroller这样的log,其原因就是在容器类的UIViewController :(UIViewController *)fromViewController toViewController:(UIViewController *)toViewController duration :(UIViewController )presentingsourceController:(UIViewController *)source; -(id)animationControllerForDismissedController  *)presented presentingController:(UIViewController *)presenting sourceController: (UIViewController 

    1.9K30编辑于 2023-10-16
  • 来自专栏学海无涯

    iOS17适配指南之UIViewController

    案例 import UIKit class ViewController: UIViewController { // UIContentUnavailableConfiguration

    1.1K30编辑于 2023-07-09
  • 来自专栏全栈程序员必看

    【iOS】UIViewController生命周期

    UIViewController有2周期: 在UIViewController中,View存在两个循环:载入循环和卸载循环。 载入循环 1》程序请求controller的view。 则UIViewController调用loadView方法。 假设你没有重载这个函数,UIViewController会默认使用UIViewController的nibName和nibBundle属性尝试从nib文件载入view。 2》每一个UIViewController调用didReceiveMemoryWarning。默认会安全地释放掉view。 UIViewController的生命周期: 当一个视图控制器被创建。并在屏幕上显示的时候。

    1.1K20编辑于 2022-07-06
  • 来自专栏学海无涯

    iOS14开发-UIViewController

    跳转 从一个 UIViewController 跳转到另一个 UIViewController 有两种方式,分别为模态跳转和导航跳转。 通过当前 UIViewController 某个具体的控件(如按钮)拽线到另一个 UIViewController。 手动型 Segue 从当前 UIViewController 拽线到另一个 UIViewController,需要给这根线设置identifier。 可以展示多个 UIViewController,这些 UIViewController 是层级关系。 可以展示多个 UIViewController,这些 UIViewController 是平级关系。但展示的 UIViewController 最多不超过5个,否则会折叠。

    3.8K20发布于 2021-03-02
  • 来自专栏小黑娃Henry

    UIViewController声明周期-iOS11新增UIViewController声明周期-iOS11新增

    class subViewController: UIViewController { //nib文件的初始化 override init(nibName nibNameOrNil

    87520发布于 2021-08-09
  • 来自专栏日常技术分享

    NSTimer 导致UIViewController无法正常释放

    原因:当我们使用NSTimer的方法时,定时器对象会对它的target(即self:当前控制器)持有强引用,如果定时器不销毁,则控制器无法释放。

    1.5K30发布于 2018-12-12
  • 来自专栏iOS知识点

    iOS获取当前显示UIViewController视图

    - (UIViewController *)getCurrentVC { UIViewController *result = nil; UIWindow * window = [[UIApplication objectAtIndex:0]; id nextResponder = [frontView nextResponder]; if ([nextResponder isKindOfClass:[UIViewController } else { result = window.rootViewController; } return result; } 第二种写法: //登录接口 UIViewController objectAtIndex:0]; id nextResponder = [frontView nextResponder]; if ([nextResponder isKindOfClass:[UIViewController

    1.4K20发布于 2020-12-01
  • 来自专栏学海无涯

    iOS26适配指南之UIViewController

    介绍 WWDC24 中 UIViewController 增加了 5 种特殊的转场效果zoom、coverVertical、flipHorizontal、crossDissolve与partialCurl import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad context.zoomedViewController is NextViewController else { fatalError("Unable to access the current UIViewController self.navigationItem.rightBarButtonItem } present(nextViewController, animated: true) } } class NextViewController: UIViewController

    64610编辑于 2025-08-25
  • 来自专栏学海无涯

    iOS18适配指南之UIViewController

    介绍增加了类型为UIViewController.Transition的preferredTransition属性,可以实现特殊的转场效果,共有 5 种效果,分别为zoom、coverVertical、 使用zoom效果import UIKitclass ViewController: UIViewController { lazy var button: UIButton = { { dismiss(animated: true) }}coverVertical效果import UIKitclass ViewController: UIViewController { dismiss(animated: true) }}flipHorizontal效果import UIKitclass ViewController: UIViewController { dismiss(animated: true) }}partialCurl效果import UIKitclass ViewController: UIViewController

    72211编辑于 2024-09-09
  • 来自专栏日常技术分享

    iOS 根据UIView获取所在的UIViewController

    简述 本文将讲述在iOS开发中如何根据某个UIView来获取所属的UIViewController UIResponder 在iOS中UIResponder类是专门用来响应用户的操作处理各种事件的,包括触摸事件 我们知道UIApplication、UIView、UIViewController这几个类是直接继承自UIResponder,所以这些类都可以响应事件。 当然我们自定义的继承自UIView的View以及自定义的继承自UIViewController的控制器都可以响应事件。 20170512174229676.png 代码 - (UIViewController *)getControllerFromView:(UIView *)view { // 遍历响应者链。 class]]){ return (UIViewController *)responder; } } // 如果没有找到则返回nil

    2.9K20发布于 2018-09-13
  • 来自专栏学海无涯

    iOS18适配指南之UIViewController

    介绍 增加了类型为UIViewController.Transition的preferredTransition属性,可以实现特殊的转场效果,共有 5 种效果,分别为zoom、coverVertical 使用 zoom效果 import UIKit class ViewController: UIViewController { lazy var button: UIButton = { { dismiss(animated: true) } } zoom coverVertical效果 import UIKit class ViewController: UIViewController coverVertical present(nextViewController, animated: true) } } class NextViewController: UIViewController .partialCurl present(nextViewController, animated: true) } } class NextViewController: UIViewController

    30810编辑于 2025-02-10
  • 来自专栏韦弦的偶尔分享

    UIViewController初始化没有 init 导致的 Bug

    NewViewController viewDidLoad] + 85 9 UIKitCore 0x00007fff46af87c2 -[UIViewController loadViewIfRequired] + 1084 11 UIKitCore 0x00007fff46afdaf0 -[UIViewController animated:completion:]_block_invoke + 98 16 UIKitCore 0x00007fff46b11d23 -[UIViewController ViewController viewDidAppear:] + 146 20 UIKitCore 0x00007fff46b036a2 -[UIViewController setViewAppearState:isAnimating:] + 934 23 UIKitCore 0x00007fff46b040a6 -[UIViewController

    2.9K30发布于 2019-11-11
  • 来自专栏ShaoYL

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

    UIViewController的生命周期及iOS程序执行顺序 当一个视图控制器被创建,并在屏幕上显示的时候。 当我们创建一个UIViewController类的对象时,通常系统会生成几个默认的方法,这些方法大多与视图的调用有关,但是在视图调用时,这些方法的调用顺序如何,需要整理下。 通常上述方法包括如下几种,这些方法都是UIViewController类的方法: - (void)viewDidLoad; - (void)viewDidUnload; - (void)viewWillAppear

    2.4K110发布于 2018-05-11
  • 来自专栏一“技”之长

    iOS对UIViewController生命周期和属性方法的解析

    iOS中的UIViewController是UIKit框架中最基本的一个类。从第一个UI视图到复杂完整项目,都离不开UIViewController作为基础。 基于UIViewController的封装和扩展,也能够出色的完成各种复杂界面逻辑。 这篇博客,旨在讨论UIViewController的生命周期和属性方法,在最基础的东西上,往往会得到意想不到的惊喜。 二、UIViewController的生命周期         要了解UIViewController,先要弄清楚其生命周期。 在面向对象的语言中,是对象,就一定要有生命周期,UIViewController也不例外,生命周期管理Controller的作用范围和时间,也管理其内对象的作用范围和时间。

    3.6K20发布于 2018-08-16
  • 来自专栏小黑娃Henry

    iOS 判断UIViewController是pushpop或模态化进入退出

    在平时的开发中会遇到下面两种场景: 有些特殊页面需要判断是通过push/pop 或 模态化的方式进入/退出; 页面出现/消失的时机; UIViewController出现 override func } else { print("页面通过导航栏pop退回该页面 / 页面通过模态化dismiss退回该页面") } } UIViewController

    2.1K30编辑于 2022-01-09
  • 来自专栏学海无涯

    iOS开发之UIView与UIViewController的生命周期总结

    iOS开发中,创建View常见的两种方式一个是纯代码,一个是借助于XIB;创建ViewController常见的也有两种方式一个是纯代码,一个是借助于StoryBoard。 通过交流我发现很多童鞋对这些概念都很模糊,于是通过实验写一篇博客供参考。 重写View的如下方法 @implementation YFView -(instancetype)init{ self = [super init]; NSLog(@"%s", __func__); re

    1K100发布于 2018-05-03
领券