从UIView中pushViewController一个新的viewcontroller的方法

第一种方法

从uiview中获取到他所在父视图控制器viewcontroller,用父视图控制器执行pushviewcontroller方法

    id object = [self nextResponder];
    while (![object isKindOfClass:[UIViewController class]] && object != nil) {
        object = [object nextResponder];
    }
    UIViewController *superController = (UIViewController*)object;
 
    OperationViewController *OpsViewController = [[OperationViewController alloc]init];
    
    [superController.navigationController pushViewController:OpsViewController animated:YES];

第二种方法

使用block回调

1.在UIView的.h文件中定义一个bock属性:@property (nonatomic, copy)void(^pushVCblock)();
2.在UIView的.m文件的要push操作的方法中执行block:self.pushVCblock()
3.在这个view所在的controller中展开block:

__block typeof(self) weakSelf = self;//block防止循环引用

_searchDefultView.MoreSearchblock = ^{
        OperationViewController *OpsViewController = [[OperationViewController alloc]init];
        [weakSelf.navigationController pushViewController:Mycontroller animated:YES];
    };
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,217评论 30 472
  • *7月8日上午 N:Block :跟一个函数块差不多,会对里面所有的内容的引用计数+1,想要解决就用__block...
    炙冰阅读 2,554评论 1 14
  • 概述 视图是应用程序中用户界面的基本组成部分,UIView类定义了所有视图的通用行为。视图在其边界矩形内呈现内容,...
    渐z阅读 1,501评论 0 0
  • 时间过得飞快,想到一些有的没的事情之后理智又被情绪压过,控制不住的心情难受了一下,还好在微信找知心朋友聊天才知道原...
    A00小浅阅读 131评论 0 1
  • 如果有一天,你在大街上捡了一个钱夹,里面居然有你的照片,而你却不认识钱夹的主人,你会怎么办? 封聿明觉得不可思议,...
    赵墨璃阅读 692评论 2 2