gpt4 book ai didi

ios - iPhone : How can I have my refresh UIBarButtonItem change to UIActivityIndicator while task is running?

转载 作者:行者123 更新时间:2023-11-28 22:53:14 26 4
gpt4 key购买 nike

我有一个刷新按钮,它执行一个函数来发起请求并接收响应。在解析响应时,我正在更改我上次更新的文本,以使用户了解正在发生的事情。我希望在“程序”运行时让刷新按钮成为 uiactivityindicator。我怎样才能做到这一点?这是我的 Storyboard的屏幕截图,可帮助您了解设置。让我知道我是否可以提供其他任何东西。谢谢!

storyboard image

下图显示了我如何通过右侧的模拟指标下拉列表创建底部栏。

bottom toolbar

编辑:

这是我从标记的答案中使用的更改代码。

// Create UIActivityIndicator UIBarButtonItem
UIActivityIndicatorView *activityView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
[activityView startAnimating];
UIBarButtonItem *loadingView = [[UIBarButtonItem alloc] initWithCustomView:activityView];

// Toolbar with LoadingView and LastUpdatedTitle with Flex Spacing
[self.navigationController.toolbar setItems:(NSArray *)[NSArray arrayWithObjects: loadingView, self.flexSpaceOne, self.lastUpdated, self.flexSpaceTwo, nil]];

当我想改回它时,我只需使用相同的 setItems:arrayWithObjets: 方法“重置”我的项目。除了那个时候我会用 self.refreshButton 改变加载 View 。

最佳答案

定义一些 ivar 来访问您的工具栏及其项目:

NSMutableArray *toolbarItems;
IBOutlet UIToolbar *toolbar;

然后,在您开始任务的方法中,

UIActivityIndicatorView *activityView = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(0, 0, 25, 25)];
UIBarButtonItem *loadingView = [[UIBarButtonItem alloc] initWithCustomView:activityView];
[toolbarItems replaceObjectAtIndex:0 withObject:loadingView];
toolbar.items = toolbarItems;

完成后执行相反的操作,再次添加刷新按钮。

关于ios - iPhone : How can I have my refresh UIBarButtonItem change to UIActivityIndicator while task is running?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11387699/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com