簡體   English   中英

UITableView委托沒有被調用

[英]UITableView delegate is not getting called

我在菜單抽屜中使用UITableView ,並在單擊菜單按鈕時更改UITableView的位置。

UITableViewDataSource在工作, UITableViewDelegate在工作。 我從故事板設置了委托,並且在視圖控制器內部仍未調用didSelectRowAtIndexPath

-(void) showMenu{
isMenuShown = YES;
        [_drawerButton setImage:[UIImage imageNamed:@"v_drawer_menu"]];
        [UIView beginAnimations:nil context:nil];
        [UIView setAnimationDuration:0.5];
        self.view.frame = CGRectMake(220, self.view.frame.origin.y, self.view.frame.size.width, self.view.frame.size.height);
        _tableView.frame = CGRectMake(0, self.view.frame.origin.y, 220, self.view.frame.size.height);
        self.menuView.frame = CGRectMake(0, self.view.frame.origin.y, 220, self.view.frame.size.height);
        _menuView.userInteractionEnabled = YES;
        _tableView.userInteractionEnabled = YES;
        _tableView.delegate = self;

        [UIView commitAnimations];
}

視圖和表視圖在切換時將它們移動。 幫助表示贊賞。

問題解決了,

我正在移動基本視圖,因此所有交互都在x位置從220開始的基礎上進行,因此表視圖交互不起作用,我在情節bringSubviewToFront更改了視圖層次結構,並使用了bringSubviewToFront視圖方法使其正常工作。

謝謝 :)

如果didSelectRowAtIndexPath沒有得到,則可能是以下原因之一。

  1. 未設置委托。 據我了解,此文件已正確設置為文件所有者。
  2. 表格視圖單元格中可能有一個與該單元格大小相同的UI控件。
  3. 一個可以響應響應者鏈中觸摸的UIView
  4. 或表視圖可能是allowsSelectionDuringEditingflase

您需要檢查幾件事:

  • 如果我們已經從其他視圖控制器復制了tableview,那將發生一段時間,而委托和數據源鏈接將已經存在,但指向該舊視圖控制器。 因此需要刪除鏈接並再次建立連接

  • 還要確保您沒有將UITableViewDelegate協議放入.h文件中,因為您已經在情節提要板上進行了鏈接

  • 如果仍然無效,則清理項目並刪除委托方法,然后將光標放在UITableview上,然后按窗口鍵。 您將被重定向到tableview的委托方法頁面,並從中復制委托方法並將其放置在代碼中。

(注意:請勿從任何地方復制委托方法,這是直接從委托部分頁面直接復制委托的良好做法)。

希望這可以幫助您解決問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM