你好,歡迎來到IOS教程網

 Ios教程網 >> IOS訊息 >> 關於IOS >> 從UIView的子類中推入視圖控制器

從UIView的子類中推入視圖控制器

編輯:關於IOS

問題描述:

創建了一個視圖CategoryTableView,繼承UIView。CategoryTableView包含了一個UITableView。我將CategoryTableView 作為子類添加到HomeViewController 中,HomeViewController 是UIViewController的子類。目前,我需要在didSelectRowAtIndexPath 執行時推入一個新的controller。但是在CategoryTableView中怎麼推入或顯示另一個視圖控制器?

不能在CategoryTableView去導航控制器。

解決方案:
CategoryTableView.h

 

[plain]
@property (retain, nonatomic) parentViewController *parent; //create one property for parent view like this 

@property (retain, nonatomic) parentViewController *parent; //create one property for parent view like this
CategoryTableView.m

 

[plain]
@sythesize parent; 
 
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 

    [parent.navigationController . . .]; // preform action 
    //OR.. 
    [parent presentModalViewController: . . .]; // present modal view 

@sythesize parent;

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    [parent.navigationController . . .]; // preform action
    //OR..
    [parent presentModalViewController: . . .]; // present modal view
}
parent.m

 

[plain]
//while calling your CategoryTableView assign self to your parent object 
 
    CategoryTableView *tblView = [CategoryTableView alloc] init]; 
    tblView.parent = self; 

//while calling your CategoryTableView assign self to your parent object

    CategoryTableView *tblView = [CategoryTableView alloc] init];
    tblView.parent = self;

 

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved