搜索过程中发现objective-c不同的版本生成的代码都不一样,我用的XCode5.1
git clone 下hello world项目来。
程序目录
1,画视图
然后打开项目,拖三个控件过来。
三个控件分别是 TextField,Button,WebView;
2,声明输出口
右键按住控件拖进DCViewController.h里
这个类折腾完成后代码是这样的
#import <UIKit/UIKit.h>@interface DCViewController : UIViewController<UIWebViewDelegate>@property (retain, nonatomic) IBOutlet UIWebView *webView;@property (retain, nonatomic) IBOutlet UITextField *textField;@property (retain, nonatomic) IBOutlet UIButton *button;@property (strong,nonatomic) UIActivityIndicatorView *activityIndicatorView;- (IBAction)buttonPressed:(id)sender;-(void)loadWebPageWithString:(NSString *)urlString;@end
3,方法
然后打开DCViewController.m这个类,他会自动生成刚才那三个拖动的控件的代码然后增加手动增加的_activityIndicatorView控件
然后加一堆的事件方法什么,加完之后是这样的。
#import "DCViewController.h"@interface DCViewController ()@end@implementation DCViewController- (void)viewDidLoad{[super viewDidLoad];// Do any additional setup after loading the view, typically from a nib.
//自动缩放页面,以适应屏幕_webView.scalesPageToFit = YES;_webView.delegate = self;
// 指定进度轮大小self.activityIndicatorView = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(0, 0, 32, 32)];// 设置进度轮的中心也可以[self.activityIndicatorView setCenter:CGPointMake(30, 30)];[self.activityIndicatorView setCenter:self.view.center];// 设置activityIndicatorView风格[self.activityIndicatorView setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleGray];[self.webView addSubview:self.activityIndicatorView];[self buttonPressed:nil];
}-(void)loadWebPageWithString:(NSString *)urlString{if (self.textField.text != nil) {// 追加一个字符串urlString = [@"http://" stringByAppendingFormat:urlString];NSURL *url = [NSURL URLWithString:urlString];// NSURLRequest类方法用于获取URLNSURLRequest *request = [NSURLRequest requestWithURL:url];// webView加载URL[_webView loadRequest:request];}
}- (void)didReceiveMemoryWarning{[super didReceiveMemoryWarning];// Dispose of any resources that can be recreated.}- (void)dealloc {[_webView release];[_textField release];[_button release];[_activityIndicatorView release];[super dealloc];}//按钮事件,点击按钮开始调用loadWebPageWithString方法- (IBAction)buttonPressed:(id)sender {[_textField resignFirstResponder];[self loadWebPageWithString:_textField.text];// 点击完button后隐藏textField和button//if (sender==_button) {//_textField.hidden = YES;//_button.hidden = YES;//}}//UIWebView委托方法,开始加载一个url时候调用此方法-(void)webViewDidStartLoad:(UIWebView *)webView{[self.activityIndicatorView startAnimating];}//UIWebView委托方法,url加载完成的时候调用此方法-(void)webViewDidFinishLoad:(UIWebView *)webView{[self.activityIndicatorView stopAnimating];}//加载url出错的时候调用此方法-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{// 判断button是否被触摸if (!self.button ) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@""message:[error localizedDescription]delegate:nilcancelButtonTitle:@"OK"otherButtonTitles: nil];[alert show];}
}@end
4,运行
201408261420
没有评论 :
发表评论