UI14_图片相关
2015-10-06 19:45
393 查看
工程建立~: single View Application
AppDelegate.h
AppDelegate.m 二者中都不用写啥玩意儿
ViewController.h
ViewController.m
AppDelegate.h
AppDelegate.m 二者中都不用写啥玩意儿
ViewController.h
#import <UIKit/UIKit.h> @interface ViewController : UIViewController @end
ViewController.m
#import "ViewController.h" @interface ViewController ()<UIActionSheetDelegate, UINavigationControllerDelegate, UIImagePickerControllerDelegate> @property(nonatomic, retain)UIImageView *imageView; @end @implementation ViewController - (void)dealloc { [_imageView release]; [super dealloc]; } - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. self.imageView = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 150, 150)]; [self.view addSubview:self.imageView]; [self.imageView release]; self.imageView.backgroundColor = [UIColor cyanColor]; UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:@"选择图片" delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:nil otherButtonTitles:@"从相册里选择", nil]; [sheet showInView:self.view]; [sheet release]; self.imageView.userInteractionEnabled = YES; // 长按手势 UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressAction:)]; [self.imageView addGestureRecognizer:longPress]; [longPress release]; } - (void)longPressAction:(UILongPressGestureRecognizer *)longPress { // 根据手势状态进行判断, 只有手势开始的状态可以进行图片的保存 if (longPress.state == UIGestureRecognizerStateBegan) { UIImageWriteToSavedPhotosAlbum(self.imageView.image, self, @selector(imageToPhonoAlbum:error:contextinfo:), nil); } } - (void)imageToPhonoAlbum:(UIImage *)image error:(NSError *)error contextinfo:(NSString *)info { if (!error) { NSLog(@"保存成功"); } } - (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex { NSLog(@"%ld", buttonIndex); UIImagePickerController *picker = [[UIImagePickerController alloc] init]; // 可编辑 picker.allowsEditing = YES; // 模态显示出来 [self presentViewController:picker animated:YES completion:^{ }]; // 要通过choose获取本地的图片就必须签订协议 picker.delegate = self; } - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { // 先让相册消失 [picker dismissViewControllerAnimated:YES completion:nil]; // UIImage *image = info[UIImagePickerControllerEditedImage]; self.imageView.image = image; }
相关文章推荐
- UI 动画之UIView动画之间的一些方法
- UISearchBar
- WinForm界面开发之布局控件"WeifenLuo.WinFormsUI.Docking"的使用
- UI 动画之反射变换的平移
- UIsearchBar
- SpriteBuilder中本地化的局限性
- SpriteBuilder中本地化的局限性
- SpriteBuilder中本地化的局限性
- UI13_Block传值练习
- UI13_Block
- 两个Arduino之间进行串口通信出错的原因
- android UI界面设计(2)
- 关于@RequestBody 不能json to pojo
- iOS开发UI篇—IOS开发中Xcode的一些使用技巧
- ios图片等比例自适应UIImageview
- Android:Material Design(四) UI控件
- [译] --- GPUImage README.md
- UGUI学习笔记6——官方教程Draggable Panel练习
- StringBuffer StringBuilder
- 关于ios9中得AddressBook和AddressBookUI框架过时问题