【问题标题】:How can I add a UIActivityMonitor to my interface?如何将 UIActivityMonitor 添加到我的界面?
【发布时间】:2012-06-15 21:26:10
【问题描述】:

我有一个包含 UIWebView 的视图控制器。我想在右上角显示一个活动指示器,以便用户知道网页正在加载;但是在构建和运行时,活动监视器不显示。

我有一个名为 webView 的 UIWebView 出口和一个名为 activityIndi​​cator 的 UIActivityIndi​​catorView 出口。

这是我的实现:

- (void)viewDidLoad
{
    [super viewDidLoad];
    webView.delegate=self;
    [self.view addSubview:activityIndicator];
    NSString *fullURL = @"http://www.oncologyeducation.com"; NSURL *url = [NSURL URLWithString:fullURL]; NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; 
    [webView loadRequest:requestObj];
}

- (void)viewDidUnload
{
    [self setWebView:nil];
    [self setActivityIndicator:nil];
    [self setActivityIndicator:nil];
    [super viewDidUnload];
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    if (interfaceOrientation==UIInterfaceOrientationPortrait || interfaceOrientation==UIInterfaceOrientationPortraitUpsideDown) {
        return NO;
    } else {
        return YES;
    }
}

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
    return YES;
}

-(void) webViewDidStartLoad:(UIWebView *)webView{
    NSLog(@"load started");
    [activityIndicator startAnimating];
    activityIndicator.hidden = NO;
}

-(void) webViewDidFinishLoad:(UIWebView *)webView{
    NSLog(@"load finished");
    [activityIndicator stopAnimating];
    activityIndicator.hidden = YES;
}

-(void) webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{
    [activityIndicator stopAnimating];
    activityIndicator.hidden = YES;
}
@end

在我的故事板上,我有一个连接到文件所有者的活动指示器视图。感谢您的任何建议!

【问题讨论】:

  • 是添加到当前视图的activityIndi​​cator
  • 你为什么要使用 NIB 和 -addSubview 调用 UIActivityIndi​​catorView?
  • @CodaFi - 你是对的,这不是必需的。无需添加子视图。任何想要重用代码的人,都输掉这行:[self.view addSubview:activityIndi​​cator];事实证明,xCode 的行为有点不稳定,并且在编译时将错误的情节提要复制到项目中。我重命名了我的故事板,在项目设置中将其设置为新名称,然后指示器高兴地旋转!
  • 将该评论作为答案,这样就不会出现在无答案列中。

标签: ios uiwebview uiactivityindicatorview


【解决方案1】:

@CodaFi - 你是对的,这不是必需的。无需添加子视图。

任何想重用代码的人,都输了:

[self.view addSubview:activityIndicator]; 

事实证明,xCode 的行为有点不稳定,并且在编译时将错误的情节提要复制到项目中。我重命名了我的故事板,在项目设置中将其设置为新名称,然后指示器高兴地旋转!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-27
    • 1970-01-01
    • 2019-10-08
    • 2023-01-16
    • 2021-04-06
    相关资源
    最近更新 更多