簡體   English   中英

無法設定我的UITabbar的代表

[英]Cant set the Delegate of my UITabbar

我的情節提要中有一個簡單的TabBar-Controller。 ViewController 1周圍有一個導航控制器。 ViewController 2沒有一個。

App啟動時,首先顯示ViewController 1。

我需要實現以下方法:

-(void)tabBar:(UITabBar *)tabBar didSelectItem(UITabBarItem *)item

但是我不能設置UITabBar的代表。 我想在ViewController 1中設置Deleagte。在IB中,我可以顯示委托屬性,但不能畫線。 我試圖以編程方式設置代表。 但是無論我在哪里設置,該應用程序始終會崩潰。 那么我必須在哪里設置UITabBar的代表?

您應該使應用程序代表選項卡欄的代表。 您應該能夠從情節提要中的選項卡欄控制器拖動到AppDelegate(也許是文件的所有者)。

在代碼中,您可以獲取對標簽欄控制器的引用,並在didFinishLaunchingWithOptions:設置tbc.delegate = self

在這兩種情況下,請確保首先通過將<UITabBarControllerDelegate>添加到接口聲明中來使委托偵聽委托方法。

我找到了解決此問題的方法。 我所做的只是以下操作,我為UITabBarController創建了一個類。 我將協議放入頭文件中。 切換到.m並實現- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item方法。 就是這樣。 無需顯式設置委托。 現在調用了委托方法。

暫無
暫無

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

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