- (UIViewController *)currentController {
UIViewController *result = nil;
UIWindow *window = [[UIApplication sharedApplication] keyWindow];
if (window.windowLevel != UIWindowLevelNormal) {
NSArray *windows = [[UIApplication sharedApplication] windows];
for (UIWindow *temWin in windows) {
if (temWin.windowLevel == UIWindowLevelNormal) {
window = temWin;
break;
}
}
}
UIView *frontView = [[window subviews] objectAtIndex:0];
id nestResponder = [frontView nextResponder];
if ([nestResponder isKindOfClass:[UIViewController class]]) {
result = nestResponder;
} else {
result = window.rootViewController;
}
return result;
}
获取当前的 viewController
时间: 2024-12-15 22:26:41
获取当前的 viewController的相关文章
Swift 获取view所在的ViewController
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 17.0px Menlo; color: #1e9421; background-color: #ffffff } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 17.0px Menlo; color: #c42275; background-color: #ffffff } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; fo
根据View获取该控制器
//根据View获取控制器 - (UIViewController*)viewController { for (UIView* next = [self superview]; next; next = next.superview) { UIResponder* nextResponder = [next nextResponder]; if ([nextResponder isKindOfClass:[UIViewController class]]) { return (UIViewCo
[非凡程序员]XibView tableViewXib
//Xibs就是布局界面的一种方式. //创建xib的方法:选择New->File->UserInterface->Empty 设置将要创建Xib的文件名字, //============ 第一种: 首先,关于Xib加载 这里以"XibLoadView"为例==========// //--------------进入XibLoadView.xib文件----------- //创建好Xib文件后,我们看到Xib中没有任何页面,拖进一个View控件,
OObjevtive-c 关于UI Xibs布局界面
----------------------------------------------------- ViewController.h文件 #import <UIKit/UIKit.h> @interface ViewController : UIViewController @property (weak, nonatomic) IBOutlet UIView *viewOne; @property (weak, nonatomic) IBOutlet UILabel *lable;
添加索引(IOS开发)
索引是用来辅助查询. 原则: - 索引标题不能与显示的标题完全一样: - 索引应该具有一定的代表性,能够代表一个数据集合: - 如果采用了索引列表视图,一般情况下就不再使用扩展视图.(容易点到) 会重新到的数据源方法: tableView: numberOfRowsInSection: ------获取某节的行数 tableView:cellForRowAtIndexPath: -------Cell数据的实现 numberofSectionInTableView: ----------获取节数
iOS Method Swizzling和分类的妙用AppDelegate轻量化处理
http://www.cocoachina.com/ios/20151117/14167.html 简介 在iOS工程中,AppDelegate往往会有上千行,甚至几千行,这样就会给维护AppDelegate带来诸多麻烦.比方说,老板想在出现HomeViewController之前弹出广告并停顿几秒,这样你就要加入插入广告的逻辑:又比方说,老板想在开始做个请求,判断某个开关是否打开.这样就会在AppDelegate中插入很多相关的不相关的代码. 在AppDelegate中,- (BOOL)app
UINavigationController页面切换合基本设置  ;
新建的类和文件名 AppDelegate.h #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @property (strong, nonatomic) UIWindow *window; @end AppDelegate.m #import "AppDelegate.h" #import "FirstViewController.
Swift 反射机制,命名空间
1. 知道 Swift 中有命名空间 - 在同一命名空间下,全局共享! - 第三方框架使用 Swift 如果直接拖拽到项目中,从属同一个命名空间,很有可能冲突! - 以后尽量使用 cocoapod 2. 重点是要知道 Swift 中 NSClassFromString(发射机制)的写法 - 发射最重要的目的是解耦 - 提示:第一印象会发现一个简单的功能,写的很复杂.但是封装的好,弹性很大! 在程序中,当需要使用Stri
Objective-C 反射机制
该文章属于<简书 — 刘小壮>原创,特此感谢:<简书 — 刘小壮> http://www.jianshu.com/p/5bbde2480680 了解反射机制 Objective-C语言中的OC对象,都继承自NSObject类.这个类为我们提供了一些基础的方法和协议,我们可以直接调用从这个类继承过来方法.当然,本篇文章中讲到的反射方法,就在NSObject和Foundation框架中. 反射机制涉及到的东西比较多,这篇文章只从OC层面来讲反射机制,不涉及runtime部分,以后会写文