Iphone 加载数据时无法获取要显示的UIActivityIndicatorView
我在TableViewController上有一个UIActivityIndicator视图。当我在init中开始设置动画时,我将看到活动指示器,但当我将start命令移动到其他任何位置时,它将不工作/显示。有没有人知道我做错了什么,我似乎在这里找不到。我希望在加载数据时显示它 TableViewController.hIphone 加载数据时无法获取要显示的UIActivityIndicatorView,iphone,ios,uiactivityindicatorview,Iphone,Ios,Uiactivityindicatorview,我在TableViewController上有一个UIActivityIndicator视图。当我在init中开始设置动画时,我将看到活动指示器,但当我将start命令移动到其他任何位置时,它将不工作/显示。有没有人知道我做错了什么,我似乎在这里找不到。我希望在加载数据时显示它 TableViewController.h #import <UIKit/UIKit.h> @interface CategoryTableViewController : UITableViewCont
#import <UIKit/UIKit.h>
@interface CategoryTableViewController : UITableViewController {
NSArray *cats;
UIActivityIndicatorView *activityIndicator;
}
@end
我会这样做:
- (id)initWithStyle:(UITableViewStyle)style {
//your code
[self.view addSubview:activityIndicator];
[activityIndicator startAnimating];
}
- (void)viewDidAppear:(BOOL)animated {
[super viewDidLoad];
[activityIndicator stopAnimating];
}
我找到了一个关于这个的教程,它展示了一个非常好的方法:
我会这样做:
- (id)initWithStyle:(UITableViewStyle)style {
//your code
[self.view addSubview:activityIndicator];
[activityIndicator startAnimating];
}
- (void)viewDidAppear:(BOOL)animated {
[super viewDidLoad];
[activityIndicator stopAnimating];
}
我找到了一个关于这个的教程,它展示了一个非常好的方法:
根据这段代码,我认为有可能tableView
没有设置为self.view
。您正在视图中添加它
,因此您的方法可能会[activityIndicator startAnimating]
实际上正在工作,但您必须将其设置为“将子视图置于前面”。它可能在tableview下面设置了动画
根据这段代码,我认为有可能
tableView
没有设置为self.view
。您正在视图中添加它
,因此您的方法可能会[activityIndicator startAnimating]
实际上正在工作,但您必须将其设置为“将子视图置于前面”。它可能在tableview下面设置了动画。我过去注意到,UI线程挂起时,UIActivityIndicators确实会绘制,但是,您可能需要在后台线程中执行任务,以便UI线程为进度指示器设置动画。看见一般来说,最好在后台线程上执行长时间的操作,以便UI线程能够对用户保持响应。我过去注意到,UI线程挂起时,UIActivityIndicators确实会绘制,但是,您可能需要在后台线程中执行任务,以便UI线程为进度指示器设置动画。看见一般来说,最好在后台线程上执行长时间的操作,以便UI线程能够对用户保持响应。是否self.view
已在init方法中可用?在viewDidLoad
方法中不应该执行这样的操作吗?在init方法中self.view
已经可用了吗?在viewDidLoad
方法中不应该执行这样的操作吗?从它正常显示的init函数调用startAnimating的那一刻起,这似乎不是问题。从它正常显示的init函数调用startAnimating的那一刻起,这似乎不是问题。
[self.view addSubview:activityIndicator];