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