获取当前的 viewController】的更多相关文章

建议写成UIView的分类,如下: .h - (UIViewController *)viewController; .m - (UIViewController *)viewController { UIResponder *responder = self.nextResponder; while (![responder isKindOfClass:[UIViewController class]] && responder != nil) { responder = respond…
- (UIViewController *)currentController {    UIViewController *result = nil;    UIWindow *window = [[UIApplication sharedApplication] keyWindow];        if (window.windowLevel != UIWindowLevelNormal) {        NSArray *windows = [[UIApplication shared…
在iOS开发过程中,我们经常性会需要获取当前页面的ViewController,然后利用ViewController进行一些操作,例如在最顶层的ViewController上展示一个UIAlertController,或者在最顶层的ViewController上present另一个ViewController,或者进行其他操作. 1 实现思路 通过最底层的ViewController依次向上寻找,直到找到最顶层的ViewController,也就是从UIApplication的keyWindow…
//根据View获取控制器 - (UIViewController*)viewController { for (UIView* next = [self superview]; next; next = next.superview) { UIResponder* nextResponder = [next nextResponder]; if ([nextResponder isKindOfClass:[UIViewController class]]) { return (UIViewCo…
iOS开发中静态库之".framework静态库"的制作及使用篇 .framework静态库支持OC和swift .a静态库如何制作可参照上一篇: iOS开发中静态库之".a静态库"的制作及使用篇 一.OC创建.framework静态库 1.创建工程,语言选择OC 2.进入工程后,会自动帮我们创建一个.h文件,主头文件,和我们项目名称一般完全一致.不要删除了! 3.编写核心代码 依旧使用简单示例,MathTools MathTools.h文件 @interface…
一. 要求 1.点击获取验证码按钮,60秒倒计时,按钮变成不可点击状态,按钮文字变成倒计时的秒数. 2.当倒计时为0的时候,释放掉定时器NSTimer,按钮变成可以点击状态,按钮文字变成"获取验证码". 二. //  ViewController.m //  Demo-验证码 // //  Created by quhaola on 16/4/11. //  Copyright © 2016年 MC. All rights reserved. // #import "View…
注:本文根据个人的实践和理解写成,若有不当之处欢迎斧正和探讨! addChildViewController是一个从iOS5开始支持的api接口,相关的一系列的接口是用来处理viewcontroller中嵌套显示其他viewcontroller的场景的. 在出现此api之前,大家可能会使用addsubview并持有viewcontroller对象的方式来实现这个需求,控制多个viewcontroller的view的hidden标签达到同时只显示1个子viewcontroller和切换子viewc…
了解反射机制 Objective-C语言中的OC对象,都继承自NSObject类.这个类为我们提供了一些基础的方法和协议,我们可以直接调用从这个类继承过来方法.当然,本篇文章中讲到的反射方法,就在NSObject和Foundation框架中. 反射机制涉及到的东西比较多,这篇文章只从OC层面来讲反射机制,不涉及runtime部分,以后会写文章来专门讲runtime的. 获取Class对象 Class对象其实本质上就是一个结构体,这个结构体中的成员变量还是自己,这种设计方式非常像链表的数据结构.…
1. 取消collectionView头视图重叠情况:以下两种情况效果一样 但是有一点点bug 每次remove之后 需要把视图刷到上面才会显示(后续会改进方法) for (UIView *view in headerView.subviews) { [view removeFromSuperview]; } [view.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)]; 2. 获取视图的viewControl…
iPhone提供了3个机载的传感器,用于沿着iPhone的3根相互垂直的轴(左/右(x轴).上/下(y轴)和前/后(z轴))度量加速能力.这些值指示作用于iPhone的力,它们来自重力和用户移动.可以通过在脑袋周围晃动iPhone(向心力)或者把它从高楼上投下(自由落体)来获得某种净力反馈. 要向iPhone加速计更新订阅某个对象,可把它设置委托.设置为委托的对象必须实现UIAccelerometerDelegate协议:     加速度传感器使用步骤如下:     ①召唤UIAccelerom…