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

问题描述

我创建了一个视图"CategoryTableView",该视图是UIView的子类.并且CategoryTableView包含UITableView.我将CategoryTableView作为子视图添加到UIViewController中的该子类的HomeViewController中.现在,我想在执行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的子类推送视图控制器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-19 01:23