除非以编程方式添加为子视图,否则不会显示从StoryBoard添加的UIActivityIndi​​catorView

时间:2012-10-06 16:23:41

标签: iphone objective-c ios ipad uistoryboard

我使用StoryBoard添加了一个UIActivityIndi​​catorView并将IBOutlet连接到我的视图控制器:

@property(nonatomic, retain) IBOutlet UIActivityIndicatorView *activityIndicator;

在界面构建器上,它看起来像这样:

IB

然后我使用这两种方法来启动和停止动画......

[self.activityIndicator startAnimating];

[self.activityIndicator stopAnimating];

但我的活动指示器没有显示,除非我以编程方式明确地将其添加为子视图:

-(void)viewDidLoad {
    [super viewDidLoad];
    [(UIWebView *)[self view] addSubview:self.activityIndicator];
    [(UIWebView *)[self view] loadRequest:[NSURLRequest requestWithURL:self.webURL]];
}

这是预期的行为吗?为什么我需要以编程方式将其添加为子视图?

1 个答案:

答案 0 :(得分:0)

您可以在故事板中的UIView上放置UIActivityIndi​​catorView。如果您将基本视图从UIWebview更改为UIView,则问题将得到解决。

UIView
|- UIWebview
|- UIActivityIndicatorView