gpt4 book ai didi

ios - Activity 指示器 webView Xcode 5 IOS 7

转载 作者:行者123 更新时间:2023-11-28 19:04:35 24 4
gpt4 key购买 nike

您好,我在为我的 webView 创建 Activity 指示器时遇到问题,这是我正在使用的代码。

ViewController.h

@interface ViewController :UIViewController {
IBOutlet UIWebView *webview;
IBOutlet UIActivityIndicatorView*activityind;
NSTimer *timer;
}
@end

ViewController.m

@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
[webview loadRequest:[NSURLRequest requestWithURL:
[NSURLURLWithString:@"http://www.twitter.com/geekylemon"]]];
[webview addSubview:activityind];
timer = [NSTimer scheduledTimerWithTimeInterval:(1.0/2.0)
target:self
selector:@selector(loading)
userInfo:nil
repeats:YES];

}

-(void)loading {
if (!webview.loading)
[activityind stopAnimating];
else
[activityind startAnimating];
}
@end

最佳答案

我建议使用 UIWebView 的委托(delegate)方法来停止和启动您的 Activity 指示器。

webViewDidStartLoad 和 webViewDidFinishLoad 应该正是您要找的。

在 View 中,是否像这样将您的 View Controller 加载设置为委托(delegate):

webview.delegate = self;

然后在您的 .h 文件中指定您的 viewController 符合 UIWebViewDelegate 协议(protocol),方法是将您的 .h 文件更改为:

@interface ViewController :UIViewController <UIWebViewDelegate> {
IBOutlet UIWebView *webview;
IBOutlet UIActivityIndicatorView*activityind;
NSTimer *timer;
}
@end

然后在您的 .m 文件中使用委托(delegate)方法:

-(void)webViewDidStartLoad:(UIWebView *)webView{

[activityind startAnimating];

}

-(void)webViewDidFinishLoad:(UIWebView *)webView{

[activityind stopAnimating];
}

关于ios - Activity 指示器 webView Xcode 5 IOS 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21660531/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com