iOS 相机调用

调用相机需要引入两个代理

UIImagePickerControllerDelegate,UINavigationControllerDelegate

否则出出现:

设置delegate时候,出现警告:Assigning to ‘id<UINavigationControllerDelegate,UIImagePickerControllerDelegate>’ from incompatible type ‘AddSightingViewController *const __strong’

解决过程】

1.问题很明显是 strong不兼容,然后就去试试,把相应的AddSightingViewController改一下,从

@property (nonatomic)
UIImagePickerController *imgPickerController;

改为:

@property (nonatomic,
weak) UIImagePickerController *imgPickerController;

然后就消除了此警告了。

注:有时候Xcode不能及时消除警告和错误,需要手动去Product->Clean一下。

【总结】

好像Property变量,如果不指定引用类型,则默认是strong引用,此处改为weak,即可解除此警告。

而另外关于weak,strong等更详细的含义,有空再整理。

//相机

-(void)takePhotoAction:(UIButton *)sender{

FZLog(nil,
nil);

//先设定sourceType为相机,然后判断相机是否可用(ipod)没相机,不可用将sourceType设定为相片库

if ([UIImagePickerController
isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]) {

UIImagePickerController *picker = [[UIImagePickerController
alloc]
init];//初始化

picker.delegate =
self;

picker.allowsEditing =
YES;//设置可编辑

/*sourceType = UIImagePickerControllerSourceTypeCamera; //照相机

sourceType = UIImagePickerControllerSourceTypePhotoLibrary; //图片库

sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; //保存的相片

*/

picker.sourceType =
UIImagePickerControllerSourceTypeCamera;

[self
presentViewController:picker animated:YES
completion:nil];//进入照相界面

}

}

// 打开相册:(区分pad和iphone)

-(void)openPhotosAction:(UIButton *)sender{

// for iphone:

UIImagePickerController *pickerImage = [[UIImagePickerController
alloc]
init];

if([UIImagePickerController
isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) {

pickerImage.sourceType =
UIImagePickerControllerSourceTypePhotoLibrary;

//pickerImage.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;

pickerImage.mediaTypes = [UIImagePickerController
availableMediaTypesForSourceType:pickerImage.sourceType];

}

pickerImage.delegate =
self;

pickerImage.allowsEditing =
NO;

[self
presentViewController:pickerImage animated:YES
completion:nil];//进入照相界面

}

//for ipad:

-(void)ipadPicker{

UIImagePickerControllerSourceType sourceType =
UIImagePickerControllerSourceTypePhotoLibrary;

//sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; //保存的相片

UIImagePickerController *picker = [[UIImagePickerController
alloc]
init];

picker.delegate =
self;

picker.allowsEditing =
NO;//是否允许编辑

picker.sourceType = sourceType;

/*

如果从一个导航按钮处呈现,使用:

presentPopoverFromBarButtonItem:permittedArrowDirections:animated:;

如果要从一个视图出呈现,使用:

presentPopoverFromRect:inView:permittedArrowDirections:animated:

如果设备旋转以后,位置定位错误需要在父视图控制器的下面方法里面重新定位:

didRotateFromInterfaceOrientation:(在这个方法体里面重新设置rect)

然后再次调用:

- (void)presentPopoverFromRect:(CGRect)rect inView:(UIView *)view permittedArrowDirections:(UIPopoverArrowDirection)arrowDirections animated:(BOOL)animated

*/

//UIPopoverController只能在ipad设备上面使用;作用是用于显示临时内容,特点是总是显示在当前视图最前端,当单击界面的其他地方时自动消失。

UIPopoverController *popover = [[UIPopoverController
alloc]initWithContentViewController:picker];

//permittedArrowDirections
设置箭头方向

[popover presentPopoverFromRect:CGRectMake(0,
0, 300,
300)
inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];

}

调用相机自定义《中文显示,相机全屏》

中文相机

在Iphone利用UIImagePickerController调用系统照相机一文中介绍了怎样调用系统照相机。但是有时候我需要自定义相机内容,需要以相机内容为背景,在其视图上添加其他控件,下面是相机试图最大化的实例。

-(void)onClickbutton:(id)sender

{

UIImagePickerController *controller = [[UIImagePickerController
alloc]
init];

[controller setSourceType:UIImagePickerControllerSourceTypeCamera];

[controller
setShowsCameraControls:NO];

CGAffineTransform cameraTransform =
CGAffineTransformMakeScale(1.25,1.25);

controller.cameraViewTransform = cameraTransform;

[self
presentViewController:controller animated:YES
completion:nil];//进入照相界面

}

targets->custom iOS target properties (Localization native development region设为China)

时间: 2024-12-18 21:06:36

iOS 相机调用的相关文章

IOS开发调用系统相机和打开闪光灯

IOS开发调用系统相机和打开闪光灯      今天给大家分享一下如何调用iphone的拍照功能和打开闪光灯,有些代码我也不太理解,很多是在网上借鉴其他人的.IOS有两种的拍照和视频的方 式:1.直接使用UIImagePickerController,这个类提供了一个简单便捷的拍照与选择图片库里图片的功能.2.另一种是通过 AVFoundation.framework框架完全自定义拍照的界面和选择图片库界面.我只做了第一种,就先给大家介绍第一种做法: 一.首先调用接口前,我们需要先判断当前设备是否

iOS开发-iOS调用相机调用相册【将图片保存到本地相册】

设置头部代理 <UINavigationControllerDelegate, UIImagePickerControllerDelegate> 1.调用相机 检测前置摄像头是否可用 - (BOOL)isFrontCameraAvailable{ return [UIImagePickerController isCameraDeviceAvailable:UIImagePickerControllerCameraDeviceFront]; } 检测后置摄像头是否可用 - (BOOL)isRe

ios闪光灯调用

引入 #import <AVFoundation/AVFoundation.h> 打开闪光灯 AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; if (![device hasTorch]) {//判断是否有闪光灯 NSLog(@"no torch"); }else{ [device lockForConfiguration:nil];//锁定闪光

Android 实现 IOS相机滑动控件

 IOS相比于Android,动画效果是一方面优势,IOS相机切换时滑动的动画很不错,看着是有一个3D的效果,而且变化感觉很自然.Android也可以通过Graphics下面的Camera可以实现3D效果,开始尝试着用这个做了一下,效果不理想,滑动之后各组文字之间的距离就变了,从立体空间来说这是合逻辑的,但是看着很别捏.IOS相机的滑动效果文字之间的间隔在滑动的时候是不变的. 后面通过调整TextView X方向的scale使文字看着紧凑一点,然后通过计算的距离的方式,在滑动的时候保持各组文字之

支持APP手机应用(android和ios)接口调用 ,传输验证可用 shiro 的 MD5、SHA 等加密

请认准本正版代码,售后技术有保障,代码有持续更新.(盗版可耻,违者必究)         此为本公司团队开发 ------------------------------------------------------------------------------------------------------------------------- 1. 有 oracle .msyql.spring3.0.spring4.0  一共 4 套版本全部提供没有打jar没有加密的源代码(最下面截图2

iOS中调用短信、电话、邮件、Safari浏览器API

//调用短信 - (void)callMsg:(id)sender { [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://135587"]]; } //调用电话 - (void)callTel:(id)sender { [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://135587"

(转)iOS蓝牙调用的一般流程

文章转自:http://www.cnblogs.com/ctaodream/archive/2013/07/03/3169962.html 一.服务端(也叫周边设备吧..脑残的翻译) 1.实现类必须遵守协议 CBPeripheralManagerDelegate 2.需要的主要类有: @property(strong,nonatomic) CBPeripheralManager *peripheraManager; @property(strong,nonatomic) CBMutableCha

ios中调用WCF

例子比较简单 记录下思路 1.接口中定义 实体和方法声明 //登录信息        [OperationContract]        [WebInvoke(UriTemplate = "LogInf/{name}/{pwd}", Method = "POST", ResponseFormat = WebMessageFormat.Json)]         LogInf GetLogInf(string name, string pwd); 2  //数据交

搭建基于asp.net的wcf服务,ios客户端调用的实现记录

一.写wcf 问题: 1.特定的格式 2.数据绑定 3.加密解密 二.发布到iis 问题: 1.访问权限问题,添加everyone权限 访问网站时:http://localhost/WebbUploadSample/ZipUpload.aspx “/WebbUploadSample”应用程序中的服务器错误. -------------------------------------------------------------------------------- 访问被拒绝. 说明: 访问服