`

ios开发--通过UIView对象获取该对象所属的UIViewController(转)

 
阅读更多

    通过UIView对象获取该对象所属的UIViewController可以使用UIResponder的nextResponder方法获得,UIView类继承于UIResponder,因此可以直接使用。
    根据文档描述,如果View有view controller,则通过nextResponder方法返回,如果没有则返回superview。
下面是英文原文:
if the view has a view controller, it is returned by nextResponder.
If there is no view controller, the method will return the superview
    相关代码如下:遍历该View的树形结构,获取到其所属的ViewController

- (UIViewController*)viewController {
  for (UIView* next = [self superview]; next; next = next.superview) {
    UIResponder* nextResponder = [next nextResponder];
    if ([nextResponder isKindOfClass:[UIViewController class]]) {
      return (UIViewController*)nextResponder;
    }
  }
  return nil;
}
 
分享到:
评论

相关推荐

    ios UIView或者UIViewController缩放动画效果

    在iOS开发中,实现视图(UIView)或控制器(UIViewController)的缩放动画效果是常见的交互设计,可以增强用户体验并使界面更具动态美感。这里我们将深入探讨如何在iOS应用中创建这种效果,以及如何通过自定义Dome...

    iOS开发进阶-完整版

    根据提供的信息,我们可以推断出这是一本关于iOS开发进阶的书籍,作者为唐巧。...无论是对于想要深入了解iOS开发细节的专业人士还是对于希望通过系统学习进入该领域的初学者来说,都是一本非常有价值的参考书籍。

    iOS开发 - 第02篇 - UI进阶 - 15 - 彩票(第二天)

    在iOS开发中,UI设计是...以上知识点涵盖了iOS UI开发的多个方面,通过实际的彩票应用项目,开发者不仅可以提升UI设计能力,还能加深对iOS平台特性和编程实践的理解。在实践中不断探索和优化,才能真正掌握这些技能。

    swift-RKNotificationHub为任何UIView添加一个通知角标

    Swift开发中的`RKNotificationHub`库是一个非常实用的工具,它允许开发者轻松地在任何`UIView`上添加类似iOS系统应用图标的红色通知角标。这个库特别适用于那些需要显示未读消息计数或者更新提示的自定义视图组件。...

    iOS-自定义转场动画

    7. **Transition Coordinator**: 自定义转场动画中,你可以利用UIViewController的`transitionCoordinator`属性获取到一个协调器对象,从而在动画开始和结束时执行额外的操作。 8. **NSStoryboardSegue (Mac ...

    iOS Objective-C headers

    - `<UIKit/UIKit.h>`:UIKit框架的主头文件,提供了构建用户界面所需的所有元素,如UIViewController、UIView、UILabel等。 - `<CoreData/CoreData.h>`:Core Data是苹果提供的数据持久化框架,用于处理应用程序的...

    iOS游戏应用源代码——Dillion-iOS-Flip-Transform-c1ec28d.zip

    通过研究这个开源项目,开发者不仅可以掌握iOS游戏中翻转变换的实现,还能加深对Core Animation框架的理解,进一步提升iOS应用开发能力。同时,这也将有助于开发者在未来的设计中创造出更加生动、流畅的用户体验。

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

    在iOS开发中,UIView和UIViewController是构建用户界面的核心组件。它们的生命周期管理对于理解应用程序的行为至关重要。在这篇教程中,我们将深入探讨这两个类的生命周期,以及如何在实际开发中运用。 首先,我们...

    iOS开发 - 第02篇 - UI进阶 - 04 - QQ聊天界面

    在iOS开发中,UI设计是至关重要的一环,它直接影响到应用程序的用户体验和整体质感。本篇文章将深入探讨如何创建一个类似QQ聊天界面的高级UI设计,以提升应用的交互性和视觉吸引力。QQ聊天界面作为一款社交应用的...

    IOS时间选择器UIPickerView,ios8中UIView替代UIActionSheet

    以前在网上下了个时间选择器Demo,由于封装成UIActionSheet类型,而ios8弃用了UIActionSheet和UIAlertView,不得不对代码进行修改。将封装的UIActionSheet改为UIView,为了多态... // 通过UIView查找UIViewController

    ios UIView翻转动画效果

    在iOS开发中,UIView的动画效果是提升用户体验的重要手段之一,尤其在视图切换时,翻转动画可以带来富有立体感和平滑过渡的视觉效果。本主题将详细讲解如何实现"ios UIView翻转动画效果",以及如何在实际项目中应用...

    iOS-7-Custom-ModalViewController-Transitions, 在 iOS 7中,实现新的自定义ModalViewController转换的示例项目.zip

    iOS-7-Custom-ModalViewController-Transitions, 在 iOS 7中,实现新的自定义ModalViewController转换的示例项目 iOS-7-Custom-ModalViewController-Transitions在 ... 对于另一个UIViewController视图,我们将UIView

    ios object-c 面试试题 及答案

    通常,一个对象(如UIViewController或UITableView)的delegate属性是另一个对象,该对象负责处理前者的行为或事件。属性的类型通常使用`assign`,除非对象需要保留对代理的强引用,这时使用`strong`。如果代理遵循...

    IOS应用源码——steveturner-IOS-WhackJob-bak-03c0bdc.rar

    Objective-C是iOS开发的主要语言,它是C语言的超集,加入了面向对象的特性。在这个项目中,我们预期会看到.m和.h文件,分别代表实现文件和头文件,它们定义了类的接口和实现。Objective-C的类通常继承自Foundation或...

    IOS官方开发手册

    UIKit提供了一整套用于构建用户界面和处理用户交互的工具,包括视图(UIView)、控制器(UIViewController)和手势识别等。开发者需要理解如何利用这些组件创建出符合iOS设计规范的精美界面。 接下来,是App生命...

    UIViewController的加载方式和UIView的加载详解

    在iOS开发中,UIViewController和UIView是两个基础的类,用于构建用户界面。UIViewController负责管理视图的生命周期,而UIView则负责显示内容和响应用户的交互。了解UIViewController的加载方式以及UIView的加载...

    IOS开发斯坦福--卡牌游戏源码

    在iOS开发领域,斯坦福大学的课程以其权威性和深度闻名,尤其对于初学者而言,它提供了深入了解Apple平台开发的宝贵资源。"白胡子老爷爷"是学生们对教授的亲切称呼,他的课程通常深入浅出,易于理解。在这个“IOS...

    精通iOS开发(Beginning iOS 6 Development)源码(第5版).

    2. UIKit框架:UIKit是iOS开发的核心,它提供了一套丰富的控件和工具,如UIView、UIViewController、UIButton、UILabel等,用于构建用户界面。通过阅读源码,你可以了解如何布局UI元素,实现手势识别,以及如何处理...

    北航iOS开发选修课pdf

    3. **Objective-C/Swift语言**:对比讲解两种iOS开发的主要编程语言,包括语法特性、面向对象编程原则、内存管理等。 4. **Cocoa Touch**:深入理解Apple的UI框架,包括UIView、UIViewController、Storyboard、Auto...

    iOS游戏应用源代码——vgrichina-ios-calendar-baf4495.zip

    SDK包含UIKit框架,这是构建用户界面的关键,包括视图(UIView)、控制器(UIViewController)以及各种UI元素,如按钮(UIButton)、文本字段(UITextField)、日历控件(UIDatePicker)等。如果此项目涉及到日历...

Global site tag (gtag.js) - Google Analytics