how to push view controller from a UIView#39;s subclass(如何从 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 的子类推送视图控制器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何从 UIView 的子类推送视图控制器
基础教程推荐
- AdMob 广告未在模拟器中显示 2022-01-01
- 如何从 logcat 中删除旧数据? 2022-01-01
- 通过重定向链接在 Google Play 中打开应用 2022-01-01
- iOS4 创建后台定时器 2022-01-01
- NSString intValue 不能用于检索电话号码 2022-01-01
- Cocos2d iPhone 非矩形精灵触摸检测 2022-01-01
- iPhone - 获取给定地点/时区的当前日期和时间并将其与同一地点的另一个日期/时间进行比较的正确方法 2022-01-01
- Android:getLastKnownLocation(LocationManager.NETWORK_PROVIDER 2022-01-01
- navigator.geolocation.getCurrentPosition 在 Android 浏览器上 2022-01-01
- libGDX 从精灵或纹理中获取像素颜色 2022-01-01
