Iphone 如何在UINavigationController';什么工具栏像邮件应用程序?

Iphone 如何在UINavigationController';什么工具栏像邮件应用程序?,iphone,user-interface,uinavigationcontroller,toolbar,Iphone,User Interface,Uinavigationcontroller,Toolbar,我的应用程序连接到网络以检索一些数据,我想在我的应用程序的UINavigationController工具栏中显示一个进度条 我实际上想要的与邮件应用程序非常相似: 除了我想在进度条的左侧没有任何内容,在右侧有一个取消按钮 我一直在摆弄代码,试图做到这一点,但我以前从未使用过导航控制器的工具栏,所以我不确定从哪里开始 是否有人知道我可能会这样做,或者在哪里可以找到解释如何这样做的资源? 我已经阅读了、和,但它们只展示了如何使用简单的按钮和分段控件进行非常基本的工具栏布局。使用IB非常简单。只需

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

我实际上想要的与邮件应用程序非常相似:

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

我一直在摆弄代码,试图做到这一点,但我以前从未使用过导航控制器的工具栏,所以我不确定从哪里开始

是否有人知道我可能会这样做,或者在哪里可以找到解释如何这样做的资源?


我已经阅读了、和,但它们只展示了如何使用简单的按钮和分段控件进行非常基本的工具栏布局。

使用IB非常简单。只需将工具栏拖动到视图中,然后拖动一个Nprogressindicator。最后,将NSflexibleSpaker拖到进度条的左侧,并将取消按钮拖到右侧。您可能需要在左侧和右侧添加一些NSSpaser,以使所有内容正确对齐。

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

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

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

即使我想使用UINavigationController的工具栏,我仍然可以使用IB吗?我不想在单独的xib中创建另一个工具栏。另外,进度条是否有相关标签,或者我是否必须添加自己的标签?类引用没有提到任何标签,但工具栏有一个
initWithTitle
初始值设定项。下面Darren的评论显示了通过编程实现这一点的方法。您想使用自定义UIBarButtonim,以及它的initWithCustomView。如何在进度视图上方获取标签?到目前为止,我在左侧有一个弹性空间,在右侧有一个进度视图和一个取消按钮,但我不确定如何在进度视图上方获取文本。我已尝试设置UIBarButtonim标题属性,但它不会显示在任何位置。请在工具栏中放置一个空的UIView。向该视图添加UILabel和UIProgressIndicator,并相应地定位它们。您可以在Interface Builder中完成这一切,也可以在Interface Builder中设计视图,然后以编程方式将该视图添加到工具栏中。