1

我有一个导航应用程序,它有许多用户导航到的屏幕。少数视图动态管理这些屏幕。我想做的是添加一个按钮,该按钮将始终显示在用户查看的每个屏幕上。我需要这样做,以便用户始终能够执行与按钮关联的操作,无论他们在应用程序中的哪个位置。

是否可以通过仅添加一次此按钮并让它在我的导航栏等视图之间传递来实现这一点?还是我只需要手动添加此按钮及其功能到我拥有的每个视图文件中?

谢谢

4

2 回答 2

1

我会说这可能取决于按钮的作用。如果按钮对所有视图都是通用的,这意味着它以完全相同的方式影响所有视图,因此不需要对给定视图进行自定义,那么执行此操作的方法是将函数包含在 App Delegate 中或作为您的子类导航控制器。

然后,您可以使用rightBarButtonItem始终显示相同的按钮并访问该方法。您只需要为rightBarButtonItem每个添加代码viewDidLoad(但它们都是相同的)。

我在一个项目上使用“升级”按钮做了类似的事情。由于按钮所做的只是将 AppStore 启动到付费版本,因此它独立于所有视图,我可以将其放置在任何地方。

于 2010-07-22T14:46:55.333 回答
0

如果需要,您可以将按钮放在导航栏上。或者,更通用的方法是将单个视图拆分为两个视图。一个很小,只包含您的按钮,但始终停留在屏幕上。第二个是您的工作区,您可以换入和换出显示当前内容的视图。您会注意到这是导航控件和选项卡栏控件的工作方式。最后一种方法是在每个视图的同一个位置放置不同的按钮,并让它们都触发相同的操作。就用户而言,这看起来像是同一个按钮。这里的缺点是您不能以简单的方式更改所有视图中的按钮。

于 2010-07-22T17:40:34.000 回答