繁体   English   中英

以编程方式为UITableViewController设置UIActivityIndi​​catorView

[英]Setting up an UIActivityIndicatorView for the UITableViewController programmatically

我有一个常规的UITableViewController和一个UITableView作为它唯一的视图,除了表视图我想要一个UIActivittyIndicatorView

所以我需要一个像这样的视图结构:

view (UIView):
  tableView
  activityIndicatorView

没有InterfaceBuilder,最干净的方法是什么? 我想我需要覆盖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));
} 

================================================== ===========

非ARC版本,iOS <5.0:

你应该覆盖方法

-(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文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM