2013-01-16 23 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