我有一个UIViewController
,其中要添加UITableView
的子类作为子视图。
例如
@interface ViewController : UIViewController
@interface ItemList : UITableView
在
ViewController
viewDidLoad
中,我创建一个ItemList
(itemList
)对象并将其添加到viewcontroller
的视图中- (void)viewDidLoad {
...
[self.view addSubview:itemList];
}
在
didSelectRowAtIndexPath
的ItemList
的UITableView
中,我没有访问导航控制器的权限,那么如何将另一个viewcontroller
推入navigationcontroller
?@implementation ItemList
{
...
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[self.navigationController pushViewController:newViewControllerobject animated:YES];
}
}
最佳答案
在itemList类中创建一个属性,例如:ViewController *mydelegate
。
当您在View Controller viewDidLoad
中添加项目列表时,添加以下内容
itemList.myDelegate = self;
继续前进..确实选择了
@implementation ItemList
@synthesize mydelegate;
{
...
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[myDelegate.navigationController pushViewController:newViewControllerobject animated:YES];
}
}