首页 > 其他分享 >无涯教程-OC - 相机管理

无涯教程-OC - 相机管理

时间:2023-10-02 22:31:30浏览次数:61  
标签:教程 ViewController image OC 无涯 imagePicker 步骤

相机是移动设备中的常见功能之一。无涯教程可以用相机拍照并在无涯教程的应用程序中使用它,这也非常简单。

相机管理步骤

步骤1 - 创建一个简单的基于视图的应用程序。

步骤2 - 在 ViewController.xib 中添加按钮并为该按钮创建IBAction。

步骤3 - 添加图像视图并创建IBOutlet,将其命名为imageView。

步骤4 - 如下更新 ViewController.h -

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController<UIImagePickerControllerDelegate> {
   UIImagePickerController *imagePicker;
   IBOutlet UIImageView *imageView;
}

- (IBAction)showCamera:(id)sender;
@end

步骤5 - 如下更新 ViewController.m -

#import "ViewController.h"

@interface ViewController ()
@end

@implementation ViewController

- (void)viewDidLoad {
   [super viewDidLoad];
}

- (void)didReceiveMemoryWarning {
   [super didReceiveMemoryWarning];
   //Dispose of any resources that can be recreated.
}

- (IBAction)showCamera:(id)sender {
   imagePicker.allowsEditing=YES;
   
   if ([UIImagePickerController isSourceTypeAvailable:
   UIImagePickerControllerSourceTypeCamera]) {
      imagePicker.sourceType=UIImagePickerControllerSourceTypeCamera;
   } else {
      imagePicker.sourceType=
      UIImagePickerControllerSourceTypePhotoLibrary;
   }
   [self presentModalViewController:imagePicker animated:YES];
}

-(void)imagePickerController:(UIImagePickerController *)picker 
   didFinishPickingMediaWithInfo:(NSDictionary *)info {
      UIImage *image=[info objectForKey:UIImagePickerControllerEditedImage];
      
      if (image == nil) {
         image=[info objectForKey:UIImagePickerControllerOriginalImage];
      }
   imageView.image=image;
}

-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
   [self dismissModalViewControllerAnimated:YES];
}
@end

当无涯教程运行该应用程序并单击"显示摄像机"按钮时,将获得以下输出-

iOS Tutorial

拍照后,无涯教程可以编辑图片,即如下所示移动和缩放-

iOS Tutorial

参考链接

https://www.learnfk.com/ios/ios-camera-management.html

标签:教程,ViewController,image,OC,无涯,imagePicker,步骤
From: https://blog.51cto.com/u_14033984/7685008

相关文章

  • 无涯教程-OC - 加速传感器
    Accelerometer计用于检测设备在三个方向x,y和z上的位置变化,无涯教程可以知道设备相对于地面的当前位置,为了测试该示例,您需要在设备上运行它,并且不能在模拟器上运行。示例的步骤第1步 - 创建一个简单的基于视图的应用程序。第2步 -在ViewController.xib中添加三个标签,......
  • Adobe_Photoshop_2024_25.0.0.37图文安装教程及下载
    Adobe_Photoshop_2024正式版,拥有之前beta版本的全部功能,包括但不限于内置AI绘图,一键抠图、移除工具、悬浮工具栏、图像扩展、填充式生成、调整预设等等。尤其是“生成式填充”和“生成式扩展”。除此之外,PS2024正式版还内置了NeuralFilters神经AI滤镜,这款插件用于图片的处理,它......
  • 无涯教程-OC - UI元素
    UI元素是我们可以在应用程序中看到的视觉元素。这些元素中的一些响应用户交互(如按钮,文本字段),而其他信息则有意义(如图像,标签)。UI元素列表UI特定元素及其相关功能在下面说明-产品编号。UI特定元素1TextFields这是一个UI元素,使应用程序可以获取用户输入。2Input......
  • 无涯教程-OC - 委托(Delegates)
    假设对象A调用对象B来执行操作,动作完成后,对象A应知道B已完成任务并采取必要的措施,这是在代表的帮助下实现的。上面示例中的关键概念是-A是B的委托对象。B将引用A。A将实现B的委托方法。B将通过委托方法通知A。创建步骤第1步-首先,创建一个单视图应用程序。第2步-......
  • ubuntu20.04 将 max locked memory从默认的65536改为无限制
    RDMA开发中,需要注册MemoryRigon,需要比较大的内存区域,如果不把Ubuntu20.04系统默认的maxlockedmemory从默认的65536改为unlimited,将会报出这个错误:Couldn'tallocateMR解决办法如下(感谢chatGPT老师哈哈)Tosetthemaximumlockedmemoryfrom65536tounlimitedonUbunt......
  • SpringIOC
    ......
  • next-key lock
    加锁基本单位next-keylock=gaplock+rowlock范围前开后闭区间加锁规则原则1加锁的基本单位是next-keylock。原则2查找过程中访问到的对象才会加锁。优化1索引上的等值查询,给唯一索引加锁的时候,next-keylock退化为行锁。优化2索引上的等值查......
  • RocketMQ简单入门
    服务端安装及配置docker安装dockerpullrocketmqinc/rocketmq:4.4.0指定版本号是为了后面确定配置文件的路径启动namesrvdockerrun-d-p9876:9876--namerocketmq-nameservice-eMAX_POSSIBLE_HEAP=100000000rocketmqinc/rocketmq:4.4.0shmqnamesrv运行成功执行m......
  • 第一周 安装rocky 8.5
    1、下载RockyLinux官方镜像8.5  1.1打开网址直接下载http://dl.rockylinux.org/vault/rocky/8.5/isos/x86_64/Rocky-8.5-x86_64-dvd1.iso2.创建虚拟机导入iso文件,进入RockyLinux的初始安装界面,选择installRockyLinux8后,按下回车键enter,开始安装RockyLinux。  ......
  • jenkins教程:Publish Over SSH插件远程ssh执行命令
    PublishOverSSHjenkins构建完成后需要一键发布,结构如下A服务器svnB服务器jenkinsC服务器应用服务器B从A拉取代码后打包成war,然后向C服务器拷贝war包这里解决的就是远程拷贝问题1.首先安装jenkinsSSH插件打开Jenkins的“系统管理>管理插件”,选择“可选插件”,在输入框中输入“......