如何在UINavigationController的工具栏中添加进度条,如Mail应用程序?

时间:2009-11-18 19:26:05

标签: iphone user-interface uinavigationcontroller toolbar

我的应用程序连接到网络以检索一些数据,我想在我的应用程序的UINavigationController工具栏中显示一个进度条。

我真正想要的是与Mail应用程序非常相似:

Screenshot of Mail application showing an example toolbar layout

除了我想在进度条的左边没有任何内容,右边有一个取消按钮。

我已经摆弄了代码,尝试这样做,但我之前从未使用过导航控制器的工具栏,所以我不确定从哪里开始。

有谁知道我可能会这样做,或者我可以找到解释如何执行此操作的资源?

我已阅读Human Interface GuideUINavigationController class referenceView Controller Programming Guide,但他们只展示了如何使用简单按钮和分段控件进行非常基本的工具栏布局。< / p>

2 个答案:

答案 0 :(得分:8)

从空的UIView开始,添加文本标签和进度指示器,并将它们放置在Mail应用程序中。最后,创建一个包含此视图的UIBarButtonItem并将其添加到工具栏中:

UIBarButtonItem* progressItem = [[UIBarButtonItem alloc] initWithCustomView:progressItemView];
toolbar.items = [NSArray arrayWithObject:progressItem];

您可以通过编程方式或在Interface Builder中执行此操作。

答案 1 :(得分:2)

使用IB非常容易。只需将工具栏拖到视图中,然后拖动NSProgressIndicator即可。最后,将NSFlexibleSpacer拖到进度条的左侧,将取消按钮拖到右侧。您可能需要在左侧和右侧添加一些NSSpacers以使所有内容正确排列。