你的位置:首页 > 软件开发 > 操作系统 > iOS 相机

iOS 相机

发布时间:2016-10-05 15:00:14
本章节主要为之前项目 JXHomepwner 添加照片功能(项目地址)。具体任务就是显示一个 UIImagePickerController 对象,使用户能够为 JXItem 对象拍照并保存。拍摄的照片会和相应的 JXItem 对象建立关联,当用户进入某个 ...

iOS 相机

  本章节主要为之前项目 JXHomepwner 添加照片功能(项目地址)。具体任务就是显示一个 UIImagePickerController 对象,使用户能够为 JXItem 对象拍照并保存。拍摄的照片会和相应的 JXItem 对象建立关联,当用户进入某个 JXItem 对象的详细视图的时候,可以看见之前拍摄的照片。

  照片的文件可能很大,最后与 JXItem 对象的其他数据分开保存。我们将建立一个用于存储数据的类 JXImageStore ,负责保存 JXItem 对象的照片。JXImageStore 可以按需要获取并缓存照片,还可以在设备内存过低的时候清空缓存中的照片。

  • 通过 UIImageView 对象显示照片

  首先要将照片赋值给 JXDetailViewController 对象,才能在该对象的视图中显示。要在视图中显示照片信息,一个最简单的方法就是 UIImageView 对象。在 XIB 中放置一个 UIImageView 控件。

  UIImageView 对象会根据其  contentModel 属性来显示一张指定的图片模式。 contentModel 属性的作用是确定图片的  frame 内的显示位置和缩放模式。其默认值是  UIViewContentModelScaleToFill 。当其属性值是默认值时,UIImageView 对象会在显示图片时缩放图片的大小,使其能够填满整个视图空间,但是可能会改变图片的宽高比。

iOS 相机

#import "JXDetailViewController.h"#import "JXItem.h"@interface JXDetailViewController ()@property (weak, nonatomic) IBOutlet UITextField *nameField;@property (weak, nonatomic) IBOutlet UITextField *seriaNumberField;@property (weak, nonatomic) IBOutlet UITextField *valueField;@property (weak, nonatomic) IBOutlet UILabel *dateLabel;@property (weak, nonatomic) IBOutlet UIImageView *imageView;@end@implementation JXDetailViewController- (void)viewWillDisappear:(BOOL)animated {  [super viewWillDisappear:animated];    // 取消当前的第一响应对象  [self.view endEditing:YES];    // 将修改保存到 JXItem  JXItem * item = self.item;  item.itemName = self.nameField.text;  item.serialnumber = self.seriaNumberField.text;  item.valueInDollars = [self.valueField.text integerValue];}- (void)viewDidLoad {  [super viewDidLoad];    JXItem * item = self.item;    self.nameField.text = item.itemName;  self.seriaNumberField.text = item.itemName;  self.valueField.text = [NSString stringWithFormat:@"%ld",item.valueInDollars];    // 创建 NSDdateFoemateter 对象,用于将 NSDate 对象转换成简单的日期字符串  static NSDateFormatter * dateFormatter = nil;  if (!dateFormatter) {    dateFormatter = [[NSDateFormatter alloc] init];    dateFormatter.dateStyle = NSDateFormatterMediumStyle;    dateFormatter.timeStyle = NSDateFormatterNoStyle;  }    // 将转换后得到的日期字符串设置为 dateLabel 的标题  self.dateLabel.text = [dateFormatter stringFromDate:item.createDate];}- (void)setItem:(JXItem *)item {  _item = item;  self.navigationItem.title = _item.itemName;}@end

原标题:iOS 相机

关键词:IOS

IOS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。