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

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

tabBarController:didSelectViewController: 是当用户选择一个新的选项卡控制器会发送这个消息。...• –viewDidLoad:当加载控制器视图到内存,该方法被调用。...控制器加载视图过程 当调用视图控制器的view属性视图控制器会先调用loadView方法加载视图,因此,可以在loadView方法中创建所有的视图,这是比较好的编程惯例。...接着会调用视图的viewLoad->viewWillAppear->viewDidAppear. 6. 控制器视图消失过程    消失过程比较简单,不作说明。 7....事件处理 如图所示,一般情况下,当一个视图不响应用户事件,它会将事件传递给它的父视图。但是,当视图视图控制器管理,它会将事件首先传递给视图控制器

5K50
您找到你想要的搜索结果了吗?
是的
没有找到

VCTransitionsLibrary –自定义iOS交互式转场动画的库

交互控制器 – 这个类是用来管理交互的-那些通常由某个手势空控制的交互,允许用户通过滑动,轻扫或执行其他操作来实现两个视图控制器的导航.必须指出的是,交互控制器允许导航取消,例如,一个用户可以在正在导航至某一页面...,突然改变主意,然后取消了操作....协议被用来在模态控制器显示/隐藏提供一个动画控制器.当一个视图控制器被模态显示或隐藏,它的transitioningDelegate属性用来提供UIViewControllerTransitioningDelegate...为了给动画一个合适的方向,你可以比较两个视图控制器的索引: - (id )tabBarController:(UITabBarController...交互控制器负责给视图添加手势,并负责在用户使用某个手势进行相应地导航操作.

1.5K60

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

Controller的生命周期 系统提供了控制器显示到消失的四个方法。 千万不要看到方法名中间出现了view就以为这是视图的方法。这些都是控制器的生命周期。...iOS7新增加了导航控制器侧滑手势,当触发侧滑返回,会调用系统的viewWillDisappear:方法,取消侧滑返回又会调用viewWillAppear:方法。...isBeingDismissed 会在viewWillDisappear & viewDidDisappear 方法内部调用这个方法判断视图控制器视图的隐藏是否因为视图控制器被清退 (dismissed...,与上面被其它视图控制器显示对应,如信息录入完成,返回之前的视图控制器)。...调用addSubivew:成功后会给该视图发送didAddSubivew:回调,触发UIView的子类在新增视图执行其他操作。

1.3K30

UIViewController生命周期

一、视图控制器 UIViewController采用懒加载的方式,也就是说第一次访问到view属性才会加载或创建它。...由于视图视图控制器管理,所以讨论视图的加载方式,主要讨论视图控制器的加载方式。 通过Storyboard加载:这是苹果推荐的方式。...合创建一些附加的view和控件 3、ViewWillAppear 在视图加载完成,并即将显示在屏幕上,会调用viewWillAppear方法,在这个方法里,可以改变当前屏幕方向或状态栏的风格等。...7、ViewWillDisAppear 视图即将消失 8、ViewDidDisAppear 视图已经消失 9、ViewWillUnload(废弃) 当内存过低,需要释放一些不需要使用的视图,即将释放时调用...; 10、ViewDidUnload(废弃) 当内存过低,释放一些不需要的视图调用

1.8K10

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

UIViewController的生命周期及iOS程序执行顺序 当一个视图控制器被创建,并在屏幕上显示的时候。...因为当这个视图再次显示在屏幕上的时候,viewLoad、viewDidLoad 再次被调用,以便再次构造视图。...当我们创建一个UIViewController类的对象,通常系统会生成几个默认的方法,这些方法大多与视图调用有关,但是在视图调用时,这些方法的调用顺序如何,需要整理下。...通 常我们会利用这个方法,对即将显示视图做进一步的设置。例如,我们可以利用这个方法来设置设备不同方向该如何显示。...5) - (void)viewWillDisappear:(BOOL)animated; 在视图变换,当前视图在即将被移除、或者被覆盖,会调用这个方法进行一些善后的处理和设置。

1.4K110

UI篇-VC的生命周期以及UIView的layoutSubviews和drawRect方法

viewWillLayoutSubviews、viewDidLayoutSubviews不再执行 viewDidLoad:view加载完毕 viewWillAppear:控制器的view将要显示 viewWillLayoutSubviews...:控制器的view将要布局子控件 viewDidLayoutSubviews:控制器的view布局子控件完成 viewDidAppear:控制器的view完全显示 viewWillDisappear:控制器的...之后 viewDidAppear 之前执行,这个方法会被调用多次,如果在此创建视图,可能会创建多个,而且这个方法中执行耗时操作依然会造成跳转卡顿的问题。...中了,而一个 VC 执行viewWillAppear 必定是 self.navigationController 的 topViewController即栈顶的视图。...**drawRect:方法不能手动显示调用,必须通过调用setNeedsDisplay 或 者 setNeedsDisplayInRect,让系统自动调该方法。强行调用也不会起作用的。

1.8K30

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

当程序接收到内存警告,controller会尝试卸载view,在卸载循环中,controller尝试释放它的view对象并返回到原始的无view状态(当它不在屏幕上显示,这个条件的判断到底是根据view...4 controller调用viewDidLoad方法来执行一些加载(加载一词,相对于编译、运行时)任务。         ...,比如在转场过程中所参与的视图控制器视图的相关属性。...这个布尔值将在监测到手势开始被设置,我们之后会在调用返回这个InteractiveTransition的时候用到。     ...VCTransitionsLibrary https://github.com/ColinEberhardt/VCTransitionsLibrary iOS7新特性ViewController转场切换(二)系统视图控制器容器的切换动画

43030

UI篇-UITabBar及其相关其他知识

和UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换。...selectedViewController属性 通过该属性可以获得当前选中的viewController 每个视图控制器都有一个tabBarController属性,通过它可以访问所在的UITabBarController...每个视图控制器都有一个tabBarItem属性,通过它控制视图在UITabBarController的tabBar中的显示信息。...只需在第一层页面向第二层页面跳转的地方设置一次即可,第二层向第三层跳转不需要再次设置,当然,想在第三层页面上显示出 tabbar,设置.hidesBottomBarWhenPushed = NO也是不可能的出效果的...自定义TbarBar 视图切换的动画的关键方法(后续会整理出视图切换的动画实现) - (id )tabBarController

2K20

iOS 本地推送概念步骤:属性:点击通知跳到指定控制器界面快捷回复功能(iOS 8以后可用), category 属性的使用方法

(说明新内容的数量) 播放音效(提醒作用) 2.用户也可以决定是否要开启以下4个功能: 显示App图标数字 播放音效 锁屏显示 显示在“通知中心” 3、注意: 发送推送通知,如果程序正在前台执行,那么推送通知就不会被呈现出来...[[UIApplication sharedApplication] cancelAllLocalNotifications]; (2) 删除指定的通知,一般用于取消重复的通知或者还没有被调用的通知,...nonatomic) NSInteger applicationIconBadgeNumber; 例子: localNotifi.applicationIconBadgeNumber = 5; 5、是否显示锁屏...@property(nullable, nonatomic,copy) NSDictionary *userInfo; 例子: 发送通知,带一个索引2的参数,点击通知打开程序后自动跳到第三个控制器(...案例结构,tabBarController的索引分别为0 1 2 1、接收到本地通知后调用(AppDelegate中),该方法只有程序前台或后台的时候才有用,退出无法接收到消息即无法跳转,如需要在程序退出推送通知

2.5K60

iOS-可交互滑动的TabBarController

而在iOS7.0以后,苹果在UITabBarControllerDelegate中增加了下面两个代理方法: /** * 实现该代理,即可以实现自定义的各界面切换的动画(如平推,缩放,淡入淡出等)...* fromVC:当前显示的VC * toVC:将要切换到的VC * 返回一个自定义的切换动画,在本例中,我自定义了一个平推效果的动画 */ - (nullable id <UIViewControllerAnimatedTransitioning...:当前的tabBarController * animationController:动画百分比控制器 * 返回一个自定义的动画百分比控制器,以控制当前动画进行的百分比。...completionCurve; // 通过该方法来告知当前动画完成的百分比 - (void)updateInteractiveTransition:(CGFloat)percentComplete; // 取消动画...[self finishInteractiveTransition]; } else{ // 否则取消动画

1.7K41

IOS开发之TabBarItem&NavigationBarItem

接下来我们用storyboard结合着代码来模拟一下微信的视图控制模式。   "工欲善其事,必先利其器",下面主要是对storyboard来进行我们项目框架的搭建的,必要,用代码实现我们的页面效果。...视图关系说明:     1.当打开首先会出现一个登陆页面,当登陆成功后会跳转到Tab Bar Controller中。     ...presentViewController:myTabBarController animated:YES completion:^{ 15 }]; 16 } 17 }     2.如何给我们新建的视图控制器关联我们新建的视图控制器类呢...其实在我们storyboard中还是蛮简单的,在storyboard选择我们要关联的视图控制器,在 Class中选中我们新建的视图控制器类即可。...在我们的storyboard中只需要把Hide Bottom Bar on push选中即可,选中之后我们切换到该页面,就不会显示Tab Bar了,如下图所示。 ?

1.3K80

用这些 iOS 技巧让你的 APP 性能更佳

当你新建 iOS 项目,Xcode 会创建一个空白的 LaunchScreen.storyboard 供你使用。当应用程序加载视图控制器和布局,将向用户显示此页面。...您是否曾体验过,从多任务屏幕恢复应用程序后,该应用程序显示的用户界面与多任务视图显示的快照有什么不一样? 这是因为应用程序没有实现状态恢复机制,当应用程序在后台被杀死显示的数据丢失。...一旦指定保存的对象解码完成,applicationFinishedRestoringState() 将被调用以告诉视图控制器状态已被恢复。我们可以在此方法中更新视图控制器的 UI。...请记住,当应用程序被用户强行关闭,操作系统将删除保存的状态,避免在状态保存和恢复出现问题。...保存图像取消选中 Alpha 复选框以取消 Alpha 通道。

3.2K30

Android仿新版微信浮窗效果

//设置边缘侧滑代理 self.navigationController.interactivePopGestureRecognizer.delegate = self; //当开始侧滑pop时调用此方法...UIGestureRecognizer *)gestureRecognizer{ /* * 引用 gestureRecognizer * 开启 CADisplayLink * 显示右下视图...[fromVC.view addSubview:self.coverView]; //浮窗的 frame push这个是起始 frame ,pop是结束的 frame CGRect floatBallRect...coverView.alpha = 0.5; }; return _coverView; } 解耦 将所有代码集中在 #import “HKFloatManager.h” 中 //在AppDelegate中将类名传入即可,在该类控制器侧滑返回启动浮窗功能...(需要在实例化导航控制器之后) [HKFloatManager addFloatVcs:@[@"HKSecondViewController"]]; 若需要设置浮窗头像,设置该控制器的”hk_iconImage

89720

App的生命周期

loadView 当执行到loadView方法,如果视图控制器是通过nib创建,那么视图控制器已经从nib文件中被解档并创建好了,接下来任务就是对view进行初始化。...假设我们在处理内存警告释放view属性:self.view = nil。因此loadView方法在视图控制器的生命周期内可能被调用多次。...比如,设置设备不同方向该如何显示;设置状态栏方向、设置视图显示样式等。...另一方面,当APP有多个视图,上下级视图切换是也会调用这个方法,如果在调入视图,需要对数据做更新,就只能在这个方法内实现。...viewDidAppear 在view被添加到视图层级中以及多视图,上下级视图切换时调用这个方法,在这里可以对正在显示视图做进一步的设置。

1.2K10

iOS面试题-UI篇

UIView显示在屏幕上归功于CALayer,通过调用drawRect方法来渲染自身的内容,调节CALayer属性可以调整UIView的外观, UIView继承自UIResponder,比起CALayer...presentViewController提供的是一个模态视图控制器(modal) pushViewController提供一个栈控制器数组,push/pop 请简述UITableView的复用机制...这个方法的调用机制也是非常特别....当你调用 setNeedsDisplay 方法, UIKit 将会把当前图层标记为dirty,但还是会显示原来的内容,直到下一次的视图渲染周期,才会将标记为 dirty 的图层重新建立Core Graphics...view,那么就传递给控制器 如果控制器不存在,则将其传递给它的父控件 在视图层次结构的最顶层视图也不能处理接收到的事件或消息,则将事件或消息传递给UIWindow对象进行处理 如果UIWindow对象也不处理

2K21
领券