0

我有一个 UIBarButtonItem 我想创建一次,因为它出现在许多视图中。

在 viewControllers 的不同 UINavigationBar 的标签栏中,我添加了相同的按钮实例:

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

当我在视图之间切换时,单实例按钮仅在第一次显示。有一个空白区域,您甚至可以单击按钮所在的位置并正确调用操作。

只是不再显示该按钮。

这是记录在案的“功能”吗?

我为什么要这样做?

我将要选择的按钮更改为 _singleButtonItem.selected=YES 以向用户显示通知(如徽章,但干扰较少)。因此,我想要一个实例。

4

1 回答 1

1

单个对象不能位于多个位置。您需要创建多个。但是,您可以将徽章值存储在某处并将其显示在每个按钮上以满足您的需求。

从逻辑上讲,一个 UIView 只能有一个父视图。因此,如果您将相同的子视图添加到另一个视图,它将从第一个父视图中删除并作为子视图添加到第二个父视图。

于 2013-01-16T11:10:52.540 回答