如何从UIView的子类推送视图控制器 [英] how to push view controller from a UIView's subclass

查看:99
本文介绍了如何从UIView的子类推送视图控制器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建了一个视图 CategoryTableView ,该子类来自 UIView CategoryTableView 包含 UITableView 。我将 CategoryTableView 添加为 HomeViewController 的子视图,该子类来自 UIViewController 。现在,我想在 didSelectRowAtIndexPath 执行时推送一个新的视图控制器。但是,在 CategoryTableView 中,如何推送或显示另一个视图控制器。我无法进入 CategoryTableView 中的导航控制器。

I created a view "CategoryTableView" that subclass from UIView. And CategoryTableView contains a UITableView. I added CategoryTableView as a subview to HomeViewController that subclass from UIViewController. Right now, I want to push a new view controller when didSelectRowAtIndexPath executes. But, in CategoryTableView, how do I push or present another view controller. I can't get to the navigation controller in CategoryTableView.

推荐答案

CategoryTableView.h

@property (retain, nonatomic) parentViewController *parent; //create one property for parent view like this

CategoryTableView.m

@sythesize parent;

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    [parent.navigationController . . .]; // preform action
    //OR..
    [parent presentModalViewController: . . .]; // present modal view
}

parent.m

//while calling your CategoryTableView assign self to your parent object

    CategoryTableView *tblView = [CategoryTableView alloc] init];
    tblView.parent = self;

这篇关于如何从UIView的子类推送视图控制器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆