2013-01-16 50 views
0

我有一個UIBarButtonItem,我想創建一次,因爲它出現在許多視圖。一個UIBarButtonItem實例在多個UINavigationBar

在不同的UINavigationBar的viewControllers的的TabBar我添加相同的按鈕實例:

[self.navigationItem setRightBarButtonItems:[NSArray arrayWithObjects: 
               self.aButtonItem, 
               appDelegate.aSingleton.singleButtonItem, 
               nil] 

當我視圖之間切換,單個實例按鈕僅顯示在第一時間。有一個空的空間,你甚至可以點擊按鈕的位置,並且動作被正確調用。

只是不再顯示該按鈕。

這是一個記錄的「功能」?

我爲什麼要這樣做?

我更改了要選擇的按鈕_singleButtonItem.selected = YES向用戶顯示通知(如徽章,但不太乾擾)。因此我想要一個實例。

回答

1

單個對象不能位於多個位置。你需要創建多個。但是,您可以將徽章值存儲在某個位置,並在每個按鈕上顯示它以滿足您的需求。

邏輯上,一個UIView只能有一個父視圖。因此,如果將相同的子視圖添加到另一個視圖,它將從第一個父視圖中刪除,並作爲子視圖添加到第二個父視圖。

+0

謝謝。這很明顯。所以我需要多個實例併爲此實現觀察者模式。 – theguy