Iphone 活动指示器未根据UIWebView是否正在加载显示

Iphone 活动指示器未根据UIWebView是否正在加载显示,iphone,objective-c,uiwebview,uiactivityindicatorview,Iphone,Objective C,Uiwebview,Uiactivityindicatorview,对不起,如果这是一个简单的。基本上,我的代码如下: MainViewController.h: #import "FlipsideViewController.h" @interface MainViewController : UIViewController <UIWebViewDelegate, FlipsideViewControllerDelegate> { IBOutlet UIWebView *webView; IBOutlet UIActivityI

对不起,如果这是一个简单的。基本上,我的代码如下:

MainViewController.h

#import "FlipsideViewController.h"

@interface MainViewController : UIViewController <UIWebViewDelegate, FlipsideViewControllerDelegate> {
    IBOutlet UIWebView *webView;
    IBOutlet UIActivityIndicatorView *spinner;
}

- (IBAction)showInfo;

@property(nonatomic,retain) UIWebView *webView;
@property(nonatomic,retain) UIActivityIndicatorView *spinner;

@end
#import "MainViewController.h"
#import "MainView.h"

@implementation MainViewController

@synthesize webView;
@synthesize spinner;

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
        // Custom initialization
    }
    return self;
}

 - (void)viewDidLoad {

     NSURL *siteURL;
     NSString *siteURLString;

     siteURLString=[[NSString alloc] initWithString:@"http://www.site.com"];

     siteURL=[[NSURL alloc] initWithString:siteURLString];

     [webView loadRequest:[NSURLRequest requestWithURL:siteURL]];

     [siteURL release];
     [siteURLString release];

 [super viewDidLoad];
 }

- (void)flipsideViewControllerDidFinish:(FlipsideViewController *)controller {

    [self dismissModalViewControllerAnimated:YES];
}

- (void)webViewDidFinishLoad:(UIWebView *)webView {
    [spinner stopAnimating];  
    spinner.hidden=FALSE;
    NSLog(@"viewDidFinishLoad went through nicely");
}

- (void)webViewDidStartLoad:(UIWebView *)webView {     
    [spinner startAnimating];     
    spinner.hidden=FALSE;
    NSLog(@"viewDidStartLoad seems to be working");
}

- (IBAction)showInfo {    

    FlipsideViewController *controller = [[FlipsideViewController alloc] initWithNibName:@"FlipsideView" bundle:nil];
    controller.delegate = self;

    controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    [self presentModalViewController:controller animated:YES];

    [controller release];
}

- (void)dealloc {
    [spinner release];
    [webView release];
    [super dealloc];
}


@end
不幸的是,我的日志中从未写入任何内容,而且由于某种原因,
UIActivityIndicator
似乎从未出现过。这里怎么了

谢谢各位


Jack

您需要设置UIWebView委托。您实现了该协议,但从未告诉UIWebView该类是委托,因此这些方法永远不会被调用

webView.delegate = self;

此外,您可能希望了解如何实现UIWebViewDelegate方法。

-webViewDidFinishLoad:
将在Web视图的代理成功从相关URL加载内容时发送给该代理。您是否通过在Safari中检查URL来确认其有效?您是否仔细检查了您的代理连接?

现在我们开始旋转!谢谢你的帮助!