`
374016526
  • 浏览: 98740 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

UIViewController理解

 
阅读更多

关于UIViewContrller的理解:

1.UIViewContrller之间的切换有三种方式:
一、UIViewController自身之间的调用:([self presentModalViewController:UIViewController animated:YES];) 对应的返回操作函数:[self dismissModalViewControllerAnimated:YES];这里的self代表的是UIViewController自己。其可设置四种动画模式:
case 0:
[ctrl setModalTransitionStyle:UIModalTransitionStyleCoverVertical]; //底部向上 默认的动画方式
break;
case 1:
[ctrl setModalTransitionStyle:UIModalTransitionStyleCrossDissolve]; //渐变
break;
case 2:
[ctrl setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal]; //翻转
break;
case 3:
[ctrl setModalTransitionStyle:UIModalTransitionStylePartialCurl]; //翻半也
break;
default:
[ctrl setModalTransitionStyle:UIModalTransitionStyleCoverVertical]; //底部向上 默认的动画方式
break;


       二、通过UIViewController的子类UINavigationController这个号称为导航控制器的Controller来控制ViewContrller之间的切换,对应的调用函数,与返回函数分别是:[self.navigationController pushViewController:ctrl animated:YES]; 返回:([self.navigationController popViewControllerAnimated:YES];),也可直接指定返回到那一个ViewController:(- (NSArray *)popToViewController:(UIViewController *)viewController animated:(BOOL)animated) 还可以直接返回到RootViewController:(- (NSArray *)popToRootViewControllerAnimated:(BOOL)animated)

备注:小知识点设置navigationItem的backItem按钮上的文本,(self:navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"返回style:UIBarButtonItemStyleDone target:self action:@selector(action:)];)默认的文本是navigationItem的title;
    实现NavigationController的delegate可以在返回时做相应的更新操作(- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated 

      三、就是UITabBarContrller其也是继承于UIViewController,主要是做图1这样的功能的 (图1)其缺点在于下面的图片不能自己控制大小和样式


如果使用controller之间的切换出来用于控制其它controller的那个Controller在程序运行中不会释放以外,其它的Controller只要调用了返回函数那么就会被清理掉。
备注:如果Controller或view中又线程或者定时器之类的动画操作如果没有结束那么这个Controller或view就会出现内存泄露了。

分享到:
评论

相关推荐

    UIViewController+Present.zip

    在iOS开发中,`UIViewController`是苹果提供的一个核心视图控制器类,它是所有自定义视图控制器的基础。...在实际开发过程中,理解并灵活运用这样的分类,对于提升iOS应用的质量和兼容性至关重要。

    UIViewController Demo源代码

    通过学习这个`UIViewController Demo`源代码,开发者可以更好地理解`UIViewController`的生命周期、视图加载机制以及如何在不同情况下创建和使用视图控制器。同时,掌握这两种创建方式有助于提高代码的灵活性和可...

    UIViewController生命周期详解

    理解`UIViewController`的生命周期不仅有助于我们编写出更加健壮的应用程序,还能帮助我们在遇到内存警告或者性能问题时快速定位问题所在。 #### 一、初始化阶段 在`UIViewController`的生命周期中,一切始于初始...

    UIViewController+Swizzling 实现页面统计

    1. **创建Category**:创建一个`UIViewController`的Category,例如`UIViewController+PageTracking`,这样可以在不修改原`UIViewController`的基础上添加新的功能。 2. **获取原始IMP**:获取需要替换的方法的原始...

    ios-iOS 多个UIViewController之间滑动切换.zip

    总的来说,iOS应用中的多个UIViewController之间滑动切换涉及到了对UIViewController、UIPageViewController、UIScrollView等组件的理解,以及手势识别、页面管理等多方面的知识。通过熟练掌握这些技术,开发者可以...

    UIViewController

    通过实例学习,可以更好地理解和应用这些知识点,例如创建一个新的`UIViewController`子类,设计视图布局,处理用户交互,以及实现视图控制器之间的跳转等。在项目中实践这些概念,将使你对`UIViewController`有更...

    iOS App开发中UIViewController类的使用教程

    本文将深入探讨UIViewController的生命周期及其主要属性和方法,帮助开发者更好地理解和运用这一关键组件。 首先,我们要理解UIViewController的生命周期,这是了解其工作原理的基础。生命周期包含了从创建、加载...

    UITableViewController的行为与UIViewController不同

    总之,理解`UIViewController`和`UITableViewController`之间的差异对于iOS开发者来说至关重要。在设计应用程序时,需要根据具体需求来决定使用哪种类型的控制器,以便更好地实现界面设计和用户体验。

    深入讲解iOS开发中的UIViewController

    首先,我们需要理解UIViewController和UIView的区别。UIView是显示内容和处理用户交互的基本单元,它负责绘制屏幕上的元素,如按钮、文本框等,并接收和处理用户的触摸事件。而UIViewController则是负责管理这些...

    UIViewController新使用方法源码

    本篇文章将详细探讨`UIViewController`在iOS 5及后续版本中的新特性,并通过源码解析来深入理解这些功能。 1. **自动旋转和屏幕方向支持** 在iOS 5之前,开发者需要手动处理设备旋转的逻辑。但自iOS 5起,`...

    swift-UISegmentedControl使用ChildViewController切换UIViewcontroller

    在这个特定的场景中,"swift-UISegmentedControl使用ChildViewController切换UIViewcontroller"的标题表明我们将讨论如何利用`UISegmentedControl`来动态地切换`UIViewController`子类的实例,以此实现界面内容的...

    swift-UIViewController的一个封装底部带有GADBannerView

    在给定的标题“swift-UIViewController的一个封装底部带有GADBannerView”中,我们可以理解到这是一个特定的`UIViewController`子类,它的设计目标是在屏幕底部集成Google AdMob的`GADBannerView`广告展示。...

    纯代码搭建iOS三级结构(UITabbarController+UINavigationController+UIViewController)

    通过理解并熟练运用`UITabBarController`、`UINavigationController`和`UIViewController`,以及Auto Layout的约束,开发者可以构建出强大且灵活的应用界面。在实际项目中,结合Storyboard或XIB文件进行混合编程也是...

    通过UIViewController来编写弹窗 iOS

    在HWPopController-master这个压缩包中,你将找到项目的源代码,包括主要的`HWPopController`类和其他辅助类,以及示例代码,可以帮助你更好地理解和使用这个库。通过阅读和学习这些代码,你可以进一步了解如何在...

    一种创建自定义交互式UIViewController转换的简单方法.zip

    该项目提供的API设计简洁,易于理解,使得开发者能够快速地为自己的应用添加个性化的转场效果。 首先,要使用`EasyTransitions`,你需要在你的项目中引入这个库。可以通过CocoaPods或Carthage进行集成,或者直接将...

    UIViewController上的一个小类别,用于使用交互式弹出手势启用动画键盘关闭_Objective-C_Ruby.zip

    首先,我们要理解`UIViewController`类别是什么。类别(Category)是Objective-C中的一个特性,允许我们向已有的类添加方法,而无需继承。在这个项目中,类别被用来扩展`UIViewController`的功能,添加了对交互式...

    iOS开发教程之UIView和UIViewController的生命周期详解

    它们的生命周期管理对于理解应用程序的行为至关重要。在这篇教程中,我们将深入探讨这两个类的生命周期,以及如何在实际开发中运用。 首先,我们来看UIView的生命周期。一个UIView实例可以通过三种方式创建:`init`...

    swift-PanSlip-使用PanGesture来关闭UIViewController和UIView上的视图

    在Swift开发中,UI相关的控件是构建用户界面的关键元素,而手势识别是与用户进行交互的重要手段之一。本文将详细讲解如何利用PanGesture(滑动...对于Swift开发者来说,理解和掌握这些技术是提高应用程序质量的关键。

    UIViewController实现导航栏控制器效果(iOS源代码)

    在iOS应用开发中,`UIViewController`是苹果提供的一种基础视图控制器类,它负责管理屏幕上的用户...通过学习和实践这样的项目,开发者可以深入理解iOS应用的底层工作原理,并提高其在没有标准库支持情况下的创新能力。

Global site tag (gtag.js) - Google Analytics