ios的父控制器控制器和子控制器之間的注意點:
" >> #warning 需要把新創建出來的控制器添加成子控制器 . 不然子控制器里面的子控件無法響應點擊事件 "
一個控制器(UIViewController)里面在點擊導航欄右上角按鈕的時候要以動畫形式來切換另一個控制器(LCMapViewController)
當時代碼只是把新創建出來的控制器View添加到了(UIViewController)控制器上 並沒有讓創建的新控制器(LCMapViewController) 添加成子控制器
導致在 控制器(LCMapViewController)里面的創建的子控件(按鈕(UIButton))無法實現點擊事件
那么問題就來了: 在這個控制器(LCMapViewController)里面的子控件(按鈕(也嘗試着在UILabel上添加手勢也無濟於事))....代碼如下:
// ------------------ ------------------ ------------------ ------------------ ------------------
UITableView *nearTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, LCScreenW, LCScreenH - 64 )];
nearTableView.delegate = self;
nearTableView.dataSource = self;
nearTableView.separatorStyle = UITableViewCellSeparatorStyleNone;
self.nearTableView = nearTableView;
// [self.view addSubview:nearTableView];
// 在UIViewController控制器上插入一個nearTableView
[self.view insertSubview:nearTableView atIndex:1];
LCMapViewController *mapViewController = [[LCMapViewController alloc] init];
// 在UIViewController控制器上插入另一個(LCMapViewController)控制器的View
[self.view insertSubview:mapViewController.view atIndex:0];
// ------------------ ------------------ ------------------ ------------------ ------------------
后來解決這個問題就一句代碼搞定了 >> 需要成為它的子控件才能響應事件 :
- (void)setupTableView
{
UITableView *nearTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, LCScreenW, LCScreenH - 64 )];
nearTableView.tag = 110;
nearTableView.delegate = self;
nearTableView.dataSource = self;
nearTableView.separatorStyle = UITableViewCellSeparatorStyleNone;
self.nearTableView = nearTableView;
// 在UIViewController控制器上插入一個nearTableView
[self.view insertSubview:nearTableView atIndex:1];
LCMapViewController *mapViewController = [[LCMapViewController alloc] init];
#warning 需要把新創建出來的控制器添加成子控制器 . 不然控制器里面的子控制器無法響應點擊事件
[self addChildViewController:mapViewController];
// 在UIViewController控制器上插入另一個(LCMapViewController)控制器的View
[self.view insertSubview:mapViewController.view atIndex:0];
}
【微分享】:每一個人都在合適的位置,向同一個方向發揮自己的力量,展現出的美會震驚所有人!這--就是團隊