需要添加一個UIViewController 類到其他類中作為子視圖。
myEventsView = [[EventNameViewController alloc]initWithNibName:@"EventNameViewController" bundle:nil];
[myEventsView.view setFrame:CGRectMake(0, 39, 320, 400)];
[self.view addSubview:myEventsView.view];
添加成功了,但是按鈕動作出問題,導航到其他視圖控制器的完全沒用。這些動作的方法已經調用了,但是沒有之心。不知道為什麼會這樣?謝謝
問題沒有表達明白.不知道你是不是這個意思:
你將EventNameViewController的view 作為subview 添加到父視圖控制器中去.你想在EventNameViewController中的button來導航視圖到另一個控制器中去,但你發現並沒有按你預期的效果執行?
如果是這樣的話, 你思考一下問題出在哪裡? 為什麼EventNameViewController不能導航到下一個視圖?
其實原因很簡單,主要是你的EventNameViewController 並不在導航控制器棧中,在導航控制器棧中的是它的父視圖, 這裡需要你在EventNameViewController中先訪問到父視圖再通過父視圖來導航到下一個控制器.這是思路.
這裡有一個解決方案:
在EventNameVIewcontroller 的Button 的IBAction中使用下面的代碼來訪問到父視圖控制器
-(IBAction)navigateNextView {
UIViewController *superController=(UIViewController *)[[[self.view superView] superView] nextResponder];
UIViewController *nextController=......
[superController.navigationController pushViewController:nextController animated:YES];
}