cell中如何简单实现跳转VC

在ios中cell属于常用控件之一,在cell中设置按钮,该如何跳转其他VC那?

\ 如下:

//设置view的类扩展(extension)UIViewController

#import <UIKit/UIKit.h>

@interface UIView (UIViewController)

- (UIViewController *)viewController;

@end
#import "UIView+UIViewController.h"

@implementation UIView (UIViewController)

- (UIViewController *)viewController {
    
    //通过响应者链,取得此视图所在的视图控制器
    UIResponder *next = self.nextResponder;
    do {
        //判断响应者对象是否是视图控制器类型
        if ([next isKindOfClass:[UIViewController class]]) {
            return (UIViewController *)next;
        }
        
        next = next.nextResponder;
        
    }while(next != nil);
    
    return nil;
}

@end

实际应用中如下写法即可:

@implementation TestTableViewCell


- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{
    if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
        [self setUI];
    }
    return self;
}
- (void)setUI{
    UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(10, 10, 200, 100)];
    btn.backgroundColor = [UIColor blueColor];
    [btn addTarget:self action:@selector(btnClicked:) forControlEvents:UIControlEventTouchUpInside];
    [self.contentView addSubview:self.recordButton];
}
//只需self.viewController就可找到navigationController进行push
- (void)btnClicked:(UIButton *)sender{
    Test2ViewController *vc = [[Test2ViewController alloc]init];
    [self.viewController.navigationController pushViewController:vc animated:YES];
}

欢迎互相学习Github

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,303评论 4 61
  • 我认识一个朋友,她从小就备受宠爱,无论是家庭,朋友,都特别喜欢她。因为她的温柔,美丽,吸引了无数人的喜爱。但只有她...
    Amy33阅读 246评论 0 0
  • 生活是一团麻 那也是麻绳拧成的花 生活是一根线 也有那解不开的小疙瘩呀 生活是一条路 怎能没有坑坑洼洼 生活是一杯...
    白卉阅读 207评论 3 7
  • 文章标题:我们从新认识了贪婪和诱惑 文章金句: 1.有知有畏才能有滋有味 2.一切不属于长期价值的东西都算是诱惑 ...
    振行阅读 209评论 0 0
  • 叶干枯枝老死树, 无缘飞鸟难停留。 飒飒冷风天寒气, 干净透彻是寒风。 我心有情如尘土, 大风一过尽飞去。 只得痛...
    姓梁心不凉阅读 212评论 0 0