gpt4 book ai didi

ios - Objective-C - UIActivityIndi​​catorView 没有动画

转载 作者:行者123 更新时间:2023-11-28 20:10:27 25 4
gpt4 key购买 nike

我在让 UIActivityIndi​​catorView 开始制作动画时遇到了一些问题。这是我的设置:

在我的 View Controller 中的 viewDidLoad 中,我有:

- (void)viewDidLoad{
schoolList = NO;
_activityIndicator = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
[_activityIndicator startAnimating];

[NSThread detachNewThreadSelector: @selector(getSchoolList) toTarget: self withObject: nil];
[self performSelector:@selector(updateUI) withObject:nil afterDelay:20.0];
[super viewDidLoad];

}

选择器 getSchoolList 与服务器通信以检索给定州的学校列表。然后,调用选择器 updateUI 以使用列表填充我的 UIPickerView。在我的 updateUI 选择器中,我有:

-(void)updateUI {   
_schools = [_server returnData];

if(!(_schools == nil)) {
NSLog(@"update the UI");
}
else
NSLog(@"Error:Show re-load button");

[_activityIndicator stopAnimating];
}

当我运行这段代码时,我的 UIActivityIndi​​catorView 出现了,但没有动画。有人可以解释为我的 UIActivityIndi​​catorView 设置动画的正确方法吗?任何帮助深表感谢。

最佳答案

您需要将 UIActivityIndi​​catorView 添加到 viewDidLoad 中的 View 中,如下所示:

- (void)viewDidLoad {
schoolList = NO;
_activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];

[self addSubview:_activityIndicator];

[_activityIndicator startAnimating];

[NSThread detachNewThreadSelector: @selector(getSchoolList) toTarget: self withObject: nil];
[self performSelector:@selector(updateUI) withObject:nil afterDelay:20.0];
[super viewDidLoad];
}

编辑

如果 _activityIndi​​cator 是一个正确连接到 UIActivityIndi​​catorView 的 IBOutlet,您应该只需要选中“动画”框。无需分配/初始化另一个 UIActivityIndi​​catorView。

关于ios - Objective-C - UIActivityIndi​​catorView 没有动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20482412/

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