IOS笔记汇集
1.iOS调用相册和摄像头- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
UIImageView *imageView = [[UIImageView alloc] init];
imageView.frame = CGRectMake(0, 0, 80, 120);
imageView.backgroundColor = [UIColor greenColor];
imageView.tag = 101;
[self.view addSubview:imageView];
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame = CGRectMake(0, 200, 100, 30);
[button setTitle:@"打开相册" forState:UIControlStateNormal];
[button addTarget:self action:@selector(openPics) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button];
UIButton *button2 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button2.frame = CGRectMake(0, 300, 100, 30);
[button2 setTitle:@"打开相机" forState:UIControlStateNormal];
[button2 addTarget:self action:@selector(openCamera) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button2];
}
// 打开相机
- (void)openCamera {
// UIImagePickerControllerCameraDeviceRear 后置摄像头
// UIImagePickerControllerCameraDeviceFront 前置摄像头
BOOL isCamera = [UIImagePickerController isCameraDeviceAvailable:UIImagePickerControllerCameraDeviceRear];
if (!isCamera) {
NSLog(@"没有摄像头");
return ;
}
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
imagePicker.delegate = self;
// 编辑模式
imagePicker.allowsEditing = YES;
[self presentViewController:imagePicker animated:YES completion:^{
}];
}
// 打开相册
- (void)openPics {
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
imagePicker.delegate = self;
[self presentViewController:imagePicker animated:YES completion:^{
}];
}
// 选中照片
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
NSLog(@"%@", info);
UIImageView *imageView = (UIImageView *)[self.view viewWithTag:101];
// UIImagePickerControllerOriginalImage 原始图片
// UIImagePickerControllerEditedImage 编辑后图片
UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage];
imageView.image = image;
[picker dismissViewControllerAnimated:YES completion:NULL];
}
// 取消相册
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
[picker dismissViewControllerAnimated:YES completion:NULL];
}
2.ASIHttpRequest框架使用
要使用ASIRequest必须添加5个动态库,CFNetwork.framework、SystemConfigureation.framework、MobileCoreServices.framework、libz.dylib和libxml2.dylib
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setRequestMethod:@"GET"];
[request setTimeOutSeconds:60];
// 设置请求头
// [request setRequestHeaders:<#(NSMutableDictionary *)#>]
// 设置cookies
// [request setRequestCookies:<#(NSMutableArray *)#>]
// 发送同步请求
[request startSynchronous];
NSError *error = request.error;
if (error == nil) {
NSData *data = request.responseData;
UIImage *img = [UIImage imageWithData:data];
NSLog(@"%@", data);
self.image = img;
} else {
NSLog(@"请求网络出错:%@", error);
}
3.iOS Http请求异步请求
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
_data = [[NSMutableData alloc] init];
// 组合一个搜索字符串
NSString *urlStr = [NSString stringWithFormat:@"http://www.baidu.com/s?wd=%@", @"php"];
NSURL *url = [NSURL URLWithString:urlStr];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
//发起请求,定义代理
[NSURLConnection connectionWithRequest:request delegate:self];
}
// 分批返回数据
- (void)connection:(NSURLConnection *) connection didReceiveData:(NSData *)data {
[_data appendData:data];
NSLog(@"%@", _data);
}
// 数据完全返回完毕
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
NSString *dataString = [[NSString alloc] initWithData:_data encoding:NSUTF8StringEncoding];
NSLog(@"%@", dataString);
}
4.iOS Http get 请求
// 组合一个搜索字符串
NSString *urlStr = [NSString stringWithFormat:@"http://www.baidu.com/s?wd=%@", @"php"];
// 字符串转化为URL
NSURL *url = [NSURL URLWithString:urlStr];
// NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
// [request setURL:url];
// [request setHTTPMethod:@"POST"];
// [request setTimeoutInterval:60];
// [request setHTTPBody:_data];
// [request setValue:@"ttt" forHTTPHeaderField:@"cookies"];
// url转化为一个请求
NSURLRequest *request = [NSURLRequest requestWithURL:url];
// 状态请求
NSURLResponse *response;
// 链接一个请求
<补充:移动开发 , IOS ,