我有一个常规的 UITableViewController
,它的唯一视图是一个 UITableView
,我希望在表格视图之外添加一个 UIActivittyIndicatorView
。
所以我需要这样的视图结构:
view (UIView):
tableView
activityIndicatorView
没有使用InterfaceBuilder的最简单方法是什么?我猜我需要重写
loadView:
方法,但到目前为止我还没有成功。我有一个常规的 UITableViewController
,它的唯一视图是一个 UITableView
,我希望在表格视图之外添加一个 UIActivittyIndicatorView
。
所以我需要这样的视图结构:
view (UIView):
tableView
activityIndicatorView
loadView:
方法,但到目前为止我还没有成功。针对ARC和iOS 5.0+的更新(我认为旧版本需要被移除,因为我们有了新的、更好的API:):
将以下内容添加到您的UIViewController
子类的头文件.h中:
@property (nonatomic, weak) UIActivityIndicator *activityIndicator;
在您的UIViewController
子类的.m文件中覆盖方法:
- (void)loadView {
[super loadView];
UIActivityIndicatorView *activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
// If you need custom color, use color property
// activityIndicator.color = yourDesirableColor;
[self.view addSubview:activityIndicator];
[activityIndicator startAnimating];
self.activityIndicator = activityIndicator;
}
- (void)viewWillLayoutSubviews {
[super viewWillLayoutSubviews];
CGSize viewBounds = self.view.bounds;
self.activityIndicator.center = CGPointMake(CGRectGetMidX(viewBounds), CGRectGetMidY(viewBounds));
}
-(void)loadView {
[super loadView];
self.activityIndicator = [[[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray] autorelease];
[self.view addSubview:self.activityIndicator];
self.activityIndicator.center = CGPointMake(self.view.frame.size.width / 2, self.view.frame.size.height / 2);
[self.activityIndicator startAnimating];
}
@property (nonatomic, assign) UIActivityIndicatorView *activityIndicator;
@synthesize activityIndicator;
到 .m 文件
CGRect viewBounds = self.view.bounds;
而不是CGSize viewBounds...
,对吗? - wmora