问题描述
我创建了一个视图"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的子类推送视图控制器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!