1.打开相册获取图片
.h文件:
@interface VCImageEditing :UIViewController <UIImagePickerControllerDelegate,UINavigationControllerDelegate>
.m文件:
- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
[selfdismissModalViewControllerAnimated:NO];
UIImage *i = [infoobjectForKey:UIImagePickerControllerOriginalImage];
// 处理获取到的图片,比如以下在图片子视图下显示当前获取的图片
[ivEditingImagesetImage:i];
[self.viewsendSubviewToBack:ivEditingImage];
}
在需要弹出相册的地方加入以下代码:
UIImagePickerController *ipController = [[UIImagePickerControlleralloc] init];
[ipController setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
[ipController setDelegate:self];
[selfpresentModalViewController:ipController animated:YES];
另外,在需要弹出摄像头的地方加入以下代码:
UIImagePickerControllerSourceType sourceType =UIImagePickerControllerSourceTypeCamera;
if ([UIImagePickerControllerisSourceTypeAvailable:sourceType])
{
UIImagePickerController *ipController = [[UIImagePickerControlleralloc] init];
[ipControllersetSourceType:sourceType];
[ipControllersetDelegate:self];
[selfpresentModalViewController:ipController animated:YES];
}
2.发送邮件
.h文件:(需提前添加MessageUI.framework的引用)
#import<MessageUI/MessageUI.h>
@interface VCImageEditing :UIViewController <MFMailComposeViewControllerDelegate>
.m文件:
- (void) mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{
[selfdismissModalViewControllerAnimated:YES];
}
在需要弹出相册的地方加入以下代码:
MFMailComposeViewController *mailController = [[MFMailComposeViewControlleralloc] init];
mailController.mailComposeDelegate = self;
// 本实例用到的时一张图片数据
UIImage *i = [selfsaveImage:self.view];
NSData *imageAsData = UIImagePNGRepresentation(i);
[mailController addAttachmentData:imageAsDatamimeType:@"image/png"fileName:@"PicDecor.png"];
[mailController setSubject:@"My PicDecor Image"];
[selfpresentModalViewController:mailController animated:YES];
3.拖动图片
创建一个ImageView子类,如下:
MovableImageView.h文件:
@interface MovableImageView :UIImageView
@end
MovableImageView.m文件:
- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[supertouchesBegan:touches withEvent:event];
}
- (void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
[supertouchesEnded:touches withEvent:event];
}
-(void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
[supertouchesMoved:touches withEvent:event];
float deltaX = [[touchesanyObject] locationInView:self].x - [[touchesanyObject] previousLocationInView:self].x;
float deltaY = [[touchesanyObject] locationInView:self].y - [[touchesanyObject] previousLocationInView:self].y;
self.transform = CGAffineTransformTranslate(self.transform, deltaX, deltaY);
}
在需要加入可拖动图片的地方加入以下代码:
MovableImageView *movableImageView = [[MovableImageViewalloc] initWithImage:image];
[movableImageViewsetUserInteractionEnabled:YES];
[self.viewaddSubview:movableImageView];