【iOS解决思路】得到某个view所在的ViewController

在一个tableViewCell中有个btn,如何得到它所在的viewcontroller,以便于push出新的viewController?

我的思路是传值,但网上有下面这种方法,分享。

跟得到某个视图上的子视图思想类似,但之前没有接触过 UIResponder,所以没有想到。

- (UIViewController *)viewController {
    for (UIView* next = [self superview]; next; next =
         next.superview) {
        UIResponder* nextResponder = [next nextResponder];
        if ([nextResponder isKindOfClass:[UIViewController class]]) {
            NSLog(@"%@",NSStringFromClass([nextResponder class]));
            return (UIViewController*)nextResponder;
        }
    }
    return nil;
}
时间: 2024-11-06 13:05:28

【iOS解决思路】得到某个view所在的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

如何解决IOS 动画中 Autolayout 与View Transforms的冲突

IOS 的动画放大与缩小,并非按照找它的中心点放大和缩小,而是左上角 .我分析了下原来是Autolayout 与View Transforms的冲突造成的. - (void) addSubviewWithZoomInAnimation:(UIView*)view duration:(float)secs option:(UIViewAnimationOptions)option { // first reduce the view to 1/100th of its original dimen

iOS 7:用代码解决视图控制器的View整体上移问题

如果你准备将你的老的 iOS 6 app 迁移到 iOS 7 上,那么你必须注意了.当你的老的 app 在 iOS 7 设备上运行时,所有ViewController 的视图都整体上移了,因为 iOS 7 把整个屏幕高度(包括状态栏和导航栏)都作为了视图控制器的有效高度.于是你的视图上移了,并和上层的状态栏交叠在一起. 你当然可以在 Xcode 中修改每个 View,将他们下移20个像素(状态栏高度)或者64个像素(状态栏+导航栏高度). 但是苹果显然已经考虑到这个问题,他们在 iOS 7 SD

java--遇到NoSuchMethodError通用解决思路

最近接手新项目,项目一跑,NoSuchMethodError蹦出来了,好不容易解决了,换一个电脑,NoSuchMethodError又蹦出来了,干脆,总结下遇到NoSuchMethodError应该如何应对的思路. 通过下面的通用思路,可以在不必了解业务的情况下,尽可能解决这个报错. 下面演示下如何在啥都不知道的情况下遇到该错误的解决思路: 随便找一个错误示例: Caused by: java.lang.NoSuchMethodError: org.eclipse.jdt.internal.co

iOS基础-选择空间Picker View的简单使用

iOS开发UI篇—使用picker View控件完成一个简单的选餐应用 一.实现效果 说明:点击随机按钮,能够自动选取,下方数据自动刷新. 二.实现思路 1.picker view的有默认高度为162,不可修改. 2.显示数据,需要设置数据源,也有两种方式(成为数据源,遵守协议) 3.实现数据源里面的两个方法 1)返回一共有多少列 2)在这一列中一共有多少行 4.通过代理告诉它那一列的哪一行显示哪些数据(设置其代理为控制器) 5.使用懒加载,加载所有的食物 6.完成基本数据的展示(列,行,内容)

XCode编译运行出错解决思路,以及再次推荐AppCode

科技界三巨头 如果按用户体验排名,依次是:苹果,微软,谷歌 但如果按开发体验排名,则是:微软,谷歌,苹果 当然,很多体验细节跟每个人的开发领域有关,但大体上是没问题的. 苹果的开发工具和体验做的烂,基本上是业界出名的.这个烂指的是稳定性,和基础功能. 比如,非常让人诟病的,到现在都没有解决的,文件夹资源同步机制(这个问题牵扯到XCode的底层设计,估计永远都不可能解决了.) 比如,C++的支持问题(重构,搜索,调试等). 比如,本篇讨论的,XCode各种异常,无法编译,无法启动,无法连接到调试器

6 个 Linux 运维典型问题,大牛的分析解决思路在这里

作为一名合格的 Linux 运维工程师,一定要有一套清晰.明确的解决故障思路,当问题出现时,才能迅速定位.解决问题,这里给出一个处理问题的一般思路: 重视报错提示信息:每个错误的出现,都是给出错误提示信息,一般情况下这个提示基本定位了问题的所在,因此一定要重视这个报错信息,如果对这些错误信息视而不见,问题永远得不到解决. 查阅日志文件:有时候报错信息只是给出了问题的表面现象,要想更深入的了解问题,必须查看相应的日志文件,而日志文件又分为系统日志文件(/var/log)和应用的日志文件,结合这两个

微信小程序web-view不支持打开非业务域名解决思路

问题起因: 我这的微信小程序小程序需要跳转到一个第三方的网站,然后就用web-view插件进行页面跳转,就会提示我出现非业务域名无法打开. 解决思路: 1.(不成功,安卓手机可以通过,iOS通过不了)通过微信公众平台的小程序开发文档发现在 设置-开发设置-业务域名中来设置业务域名,在这里我用的是自己域名和服务器(通过SSL证书的绑定)搭了一个静态网址作为平台进行跳转到第三方链接. 2.(成功)不去链接第三方网址,自己写了一个需求简易网站发布(域名需要绑定SSL证书) 注意:在这里我用的是Ngin

1.模块2.循环导入问题及解决思路3.区分py文件的两种类型4.模块的查找顺序5.模块的绝对导入与相对导入6.项目开发的目录规范

一.模块 什么是模块? 模块就是一系列功能的结合体 模块的三种来源: 1.内置的(python解释器自带的) 2.第三方的(别人写的) 3.自定义的(你自己写的) 模块的四种表现形式: 1.使用python编写的py文件(也就是意味着py文件也是可以称之为模块 2.已被编译为共享库或DLL的或C++扩展(了解) 3.把一系列模块组织到一起的文件夹(文件夹下有一个__init__.py文件,该文件夹称之为包) 4.使用C编写并连接到Python解释器的内置模块 模块选择 1.用别人写好的模块(内置