Commit 86b6e5fc authored by mei's avatar mei

调用本地相册 待解决Ipad相册不支持固定横屏问题

parent 343aaf5a
//
// CameraView.h
// Lighting
//
// Created by mac on 16/5/24.
// Copyright © 2016年 上海勾芒科技有限公司. All rights reserved.
//
#import "BaseViewController.h"
@interface CameraView : BaseViewController<UIGestureRecognizerDelegate,UIImagePickerControllerDelegate,UINavigationControllerDelegate>
@property(nonatomic,strong)UIView *subView;
@property(nonatomic,strong)UIPopoverController *popoverController;
@end
//
// CameraView.m
// Lighting
//
// Created by mac on 16/5/24.
// Copyright © 2016年 上海勾芒科技有限公司. All rights reserved.
//
#import "CameraView.h"
#import "NSObject+UIImagePickerController.h"
#import "CustomUIImagePickerController.h"
@interface CameraView ()
{
UIImagePickerController *_imagePickerController;
}
@end
@implementation CameraView
- (void)viewDidLoad {
[super viewDidLoad];
_imagePickerController = [[CustomUIImagePickerController alloc] init];
_imagePickerController.delegate = self;
_imagePickerController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
_imagePickerController.allowsEditing = YES;
// [_imagePickerController supportedInterfaceOrientations];
[self initView];
// Do any additional setup after loading the view.
}
-(void)initView
{
self.subView=[[UIView alloc]init];
self.subView.bounds=CGRectMake(0, 0, 300, 150);
self.subView.center=self.view.center;
self.subView.layer.masksToBounds = YES;
self.subView.layer.cornerRadius = 10;
self.subView.backgroundColor=[UIColor whiteColor];
[self.view addSubview:self.subView];
UIButton *btn1=[[UIButton alloc]initWithFrame:CGRectMake(0, 0, 300, 50)];
[btn1 setTitle:@"拍照" forState:UIControlStateNormal];
[btn1 setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
btn1.titleLabel.textAlignment=NSTextAlignmentCenter;
btn1.tag=101;
[btn1 addTarget:self action:@selector(selectedBtn:) forControlEvents:UIControlEventTouchUpInside];
[self.subView addSubview:btn1];
UIButton *btn2=[[UIButton alloc]initWithFrame:CGRectMake(0, 50, 300, 50)];
[btn2 setTitle:@"从相册中选取" forState:UIControlStateNormal];
[btn2 setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
btn2.titleLabel.textAlignment=NSTextAlignmentCenter;
btn2.tag=102;
[btn2 addTarget:self action:@selector(selectedBtn:) forControlEvents:UIControlEventTouchUpInside];
[self.subView addSubview:btn2];
UIButton *btn3=[[UIButton alloc]initWithFrame:CGRectMake(0, 100, 300, 50)];
[btn3 setTitle:@"取消" forState:UIControlStateNormal];
[btn3 setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
btn3.titleLabel.textAlignment=NSTextAlignmentCenter;
btn3.tag=103;
[btn3 addTarget:self action:@selector(selectedBtn:) forControlEvents:UIControlEventTouchUpInside];
[self.subView addSubview:btn3];
//点击手势
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(DismissScreenView:)];
tap.delegate = self;
tap.cancelsTouchesInView = NO;
[[UIApplication sharedApplication].keyWindow addGestureRecognizer:tap];
}
-(void)selectedBtn:(UIButton*)sender
{
switch (sender.tag) {
case 101://拍照
{
// UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
// if ([UIImagePickerController isSourceTypeAvailable:
// UIImagePickerControllerSourceTypePhotoLibrary]) {
// imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
// imagePicker.delegate = self;
// [imagePicker setAllowsEditing:YES];
// UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:imagePicker];
// self.popoverController = popover;
// [self presentViewController:imagePicker animated:YES completion:nil];
//// [self.popoverController presentPopoverFromRect:CGRectMake(0, 0, 800, 500) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
//
// }
// [self selectImageFromAlbum];
}
break;
case 102://从相册中选取
{
}
break;
case 103://取消
{
[self DismissScreenView];
}
break;
default:
break;
}
}
#pragma mark 从摄像头获取图片或视频
- (void)selectImageFromCamera
{
_imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
//录制视频时长,默认10s
_imagePickerController.videoMaximumDuration = 15;
//相机类型(拍照、录像...)字符串需要做相应的类型转换
_imagePickerController.mediaTypes = @[(NSString *)kUTTypeMovie,(NSString *)kUTTypeImage];
//视频上传质量
//UIImagePickerControllerQualityTypeHigh高清
//UIImagePickerControllerQualityTypeMedium中等质量
//UIImagePickerControllerQualityTypeLow低质量
//UIImagePickerControllerQualityType640x480
_imagePickerController.videoQuality = UIImagePickerControllerQualityTypeHigh;
//设置摄像头模式(拍照,录制视频)为录像模式
_imagePickerController.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo;
[self presentViewController:_imagePickerController animated:YES completion:nil];
}
#pragma mark 从相册获取图片或视频
- (void)selectImageFromAlbum
{
//NSLog(@"相册");
_imagePickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentViewController:_imagePickerController animated:YES completion:nil];
}
#pragma mark UIImagePickerControllerDelegate
//该代理方法仅适用于只选取图片时
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(nullable NSDictionary<NSString *,id> *)editingInfo {
NSLog(@"选择完毕----image:%@-----info:%@",image,editingInfo);
}
//适用获取所有媒体资源,只需判断资源类型
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{
NSString *mediaType=[info objectForKey:UIImagePickerControllerMediaType];
//判断资源类型
if ([mediaType isEqualToString:(NSString *)kUTTypeImage]){
//如果是图片
// self.imageView.image = info[UIImagePickerControllerEditedImage];
// //压缩图片
// NSData *fileData = UIImageJPEGRepresentation(self.imageView.image, 1.0);
// //保存图片至相册
// UIImageWriteToSavedPhotosAlbum(self.imageView.image, self, @selector(image:didFinishSavingWithError:contextInfo:), NULL);
// //上传图片
// [self uploadImageWithData:fileData];
}else{
//如果是视频
NSURL *url = info[UIImagePickerControllerMediaURL];
//播放视频
// _moviePlayer.contentURL = url;
// [_moviePlayer play];
//保存视频至相册(异步线程)
NSString *urlStr = [url path];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
if (UIVideoAtPathIsCompatibleWithSavedPhotosAlbum(urlStr)) {
UISaveVideoAtPathToSavedPhotosAlbum(urlStr, self, @selector(video:didFinishSavingWithError:contextInfo:), nil);
}
});
NSData *videoData = [NSData dataWithContentsOfURL:url];
//视频上传
// [self uploadVideoWithData:videoData];
}
[self dismissViewControllerAnimated:YES completion:nil];
}
#pragma mark 图片保存完毕的回调
- (void) image: (UIImage *) image didFinishSavingWithError:(NSError *) error contextInfo: (void *)contextInf{
}
#pragma mark 视频保存完毕的回调
- (void)video:(NSString *)videoPath didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInf{
if (error) {
NSLog(@"保存视频过程中发生错误,错误信息:%@",error.localizedDescription);
}else{
NSLog(@"视频保存成功.");
}
}
//支持横屏
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskLandscape;
}
//取消按钮
-(void)DismissScreenView
{
if (self) {
[self.view removeFromSuperview];
}
}
//取消当前页面点击手势
-(void)DismissScreenView:(UITapGestureRecognizer*)sender{
CGPoint point = [sender locationInView:self.view];
if (point.x<self.subView.frame.origin.x || point.x >self.subView.frame.origin.x+self.subView.frame.size.width||point.y<self.subView.frame.origin.y||point.y>self.subView.frame.origin.y+self.subView.frame.size.height) {
if (self) {
[self.view removeFromSuperview];
}
}
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end
//
// CustomUIImagePickerController.h
// Lighting
//
// Created by mac on 16/5/24.
// Copyright © 2016年 上海勾芒科技有限公司. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface CustomUIImagePickerController : UIImagePickerController
-(NSUInteger)supportedInterfaceOrientations;
@end
//
// CustomUIImagePickerController.m
// Lighting
//
// Created by mac on 16/5/24.
// Copyright © 2016年 上海勾芒科技有限公司. All rights reserved.
//
#import "CustomUIImagePickerController.h"
@implementation CustomUIImagePickerController
//指定 UIImagePickerController只支持横屏
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskLandscape;
}
@end
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
#import "ProductLibraryView.h" #import "ProductLibraryView.h"
#import "ShoppingView.h" #import "ShoppingView.h"
#import "ShareViewController.h" #import "ShareViewController.h"
#import "CameraView.h"
@protocol FollowHeartViewAddpicturedelegate <NSObject> @protocol FollowHeartViewAddpicturedelegate <NSObject>
@required @required
...@@ -31,6 +32,7 @@ ...@@ -31,6 +32,7 @@
@property (nonatomic,strong) SeceneLibraryView *seceneLibraryView; @property (nonatomic,strong) SeceneLibraryView *seceneLibraryView;
@property (nonatomic,strong) ProductLibraryView *productLibraryView; @property (nonatomic,strong) ProductLibraryView *productLibraryView;
@property (nonatomic,strong) ShoppingView *shoppingView; @property (nonatomic,strong) ShoppingView *shoppingView;
@property (nonatomic,strong) CameraView *cameraView;
@property (nonatomic,strong) UIImageView *backGroundImageView; @property (nonatomic,strong) UIImageView *backGroundImageView;
@property (nonatomic,strong) UIButton *zoomButton; @property (nonatomic,strong) UIButton *zoomButton;
@property (nonatomic,strong) UIButton *temporaryBtn; @property (nonatomic,strong) UIButton *temporaryBtn;
......
...@@ -62,7 +62,7 @@ ...@@ -62,7 +62,7 @@
break; break;
case 103: //自定义场景 case 103: //自定义场景
{ {
[self addCameraView:button];
} }
break; break;
case 104: //全屏 case 104: //全屏
...@@ -106,6 +106,18 @@ ...@@ -106,6 +106,18 @@
pop.barButtonItem = [[UIBarButtonItem alloc]initWithCustomView:sender]; pop.barButtonItem = [[UIBarButtonItem alloc]initWithCustomView:sender];
[self presentViewController:shareVC animated:YES completion:nil]; [self presentViewController:shareVC animated:YES completion:nil];
}
//添加自定义场景
-(void)addCameraView:(UIButton *)sender
{
self.cameraView=[[CameraView alloc]init];
self.cameraView.view.backgroundColor=[UIColor clearColor];
// // self.cameraView.delegate=self;
[self.view addSubview:self.cameraView.view];
// [SHARED_APPDELEGATE.window.rootViewController.view addSubview: self.cameraView.view];
// UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"ceshi" message:@"shide " preferredStyle:UIAlertControllerStyleAlert];
// [self presentViewController:alertController animated:YES completion:nil];
} }
//场景赋图回调 //场景赋图回调
- (void)resetSuperBackGroundImage:(UIImage*)image - (void)resetSuperBackGroundImage:(UIImage*)image
......
//
// NSObject+UIImagePickerController.h
// Lighting
//
// Created by mac on 16/5/24.
// Copyright © 2016年 上海勾芒科技有限公司. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface NSObject (UIImagePickerController)
@end
//
// NSObject+UIImagePickerController.m
// Lighting
//
// Created by mac on 16/5/24.
// Copyright © 2016年 上海勾芒科技有限公司. All rights reserved.
//
#import "NSObject+UIImagePickerController.h"
@implementation NSObject (UIImagePickerController)
//指定 UIImagePickerController只支持横屏
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskLandscape;
}
//设置状态栏
-(UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}
-(BOOL)prefersStatusBarHidden
{
return YES;
}
@end
...@@ -7,6 +7,9 @@ ...@@ -7,6 +7,9 @@
objects = { objects = {
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
041636BE1CF377F4008CE961 /* CameraView.m in Sources */ = {isa = PBXBuildFile; fileRef = 041636BD1CF377F4008CE961 /* CameraView.m */; };
041636C21CF395B7008CE961 /* NSObject+UIImagePickerController.m in Sources */ = {isa = PBXBuildFile; fileRef = 041636C11CF395B7008CE961 /* NSObject+UIImagePickerController.m */; };
041636C51CF3986F008CE961 /* CustomUIImagePickerController.m in Sources */ = {isa = PBXBuildFile; fileRef = 041636C41CF3986F008CE961 /* CustomUIImagePickerController.m */; };
0447085E1CD7C06B00555827 /* LoginViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0447085D1CD7C06B00555827 /* LoginViewController.m */; }; 0447085E1CD7C06B00555827 /* LoginViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0447085D1CD7C06B00555827 /* LoginViewController.m */; };
044708611CD7C1E800555827 /* MainSetViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 044708601CD7C1E800555827 /* MainSetViewController.m */; }; 044708611CD7C1E800555827 /* MainSetViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 044708601CD7C1E800555827 /* MainSetViewController.m */; };
044CD6EE1CEB771C0004A715 /* SeceneCollectionPictureCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 044CD6ED1CEB771C0004A715 /* SeceneCollectionPictureCell.m */; }; 044CD6EE1CEB771C0004A715 /* SeceneCollectionPictureCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 044CD6ED1CEB771C0004A715 /* SeceneCollectionPictureCell.m */; };
...@@ -133,6 +136,12 @@ ...@@ -133,6 +136,12 @@
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
041636BC1CF377F4008CE961 /* CameraView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CameraView.h; sourceTree = "<group>"; };
041636BD1CF377F4008CE961 /* CameraView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CameraView.m; sourceTree = "<group>"; };
041636C01CF395B7008CE961 /* NSObject+UIImagePickerController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSObject+UIImagePickerController.h"; sourceTree = "<group>"; };
041636C11CF395B7008CE961 /* NSObject+UIImagePickerController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSObject+UIImagePickerController.m"; sourceTree = "<group>"; };
041636C31CF3986F008CE961 /* CustomUIImagePickerController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CustomUIImagePickerController.h; sourceTree = "<group>"; };
041636C41CF3986F008CE961 /* CustomUIImagePickerController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CustomUIImagePickerController.m; sourceTree = "<group>"; };
0447085C1CD7C06B00555827 /* LoginViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoginViewController.h; sourceTree = "<group>"; }; 0447085C1CD7C06B00555827 /* LoginViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoginViewController.h; sourceTree = "<group>"; };
0447085D1CD7C06B00555827 /* LoginViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LoginViewController.m; sourceTree = "<group>"; }; 0447085D1CD7C06B00555827 /* LoginViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LoginViewController.m; sourceTree = "<group>"; };
0447085F1CD7C1E800555827 /* MainSetViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MainSetViewController.h; sourceTree = "<group>"; }; 0447085F1CD7C1E800555827 /* MainSetViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MainSetViewController.h; sourceTree = "<group>"; };
...@@ -371,6 +380,17 @@ ...@@ -371,6 +380,17 @@
/* End PBXFrameworksBuildPhase section */ /* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */ /* Begin PBXGroup section */
041636BF1CF39568008CE961 /* category */ = {
isa = PBXGroup;
children = (
041636C01CF395B7008CE961 /* NSObject+UIImagePickerController.h */,
041636C11CF395B7008CE961 /* NSObject+UIImagePickerController.m */,
041636C31CF3986F008CE961 /* CustomUIImagePickerController.h */,
041636C41CF3986F008CE961 /* CustomUIImagePickerController.m */,
);
name = category;
sourceTree = "<group>";
};
044708571CD7C06B00555827 /* MainSet */ = { 044708571CD7C06B00555827 /* MainSet */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
...@@ -424,6 +444,8 @@ ...@@ -424,6 +444,8 @@
04F9EE171CF2235000BD729F /* ShoppingView.m */, 04F9EE171CF2235000BD729F /* ShoppingView.m */,
04F9EE1C1CF25F7300BD729F /* ShareViewController.h */, 04F9EE1C1CF25F7300BD729F /* ShareViewController.h */,
04F9EE1D1CF25F7300BD729F /* ShareViewController.m */, 04F9EE1D1CF25F7300BD729F /* ShareViewController.m */,
041636BC1CF377F4008CE961 /* CameraView.h */,
041636BD1CF377F4008CE961 /* CameraView.m */,
); );
name = subView; name = subView;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -947,6 +969,7 @@ ...@@ -947,6 +969,7 @@
29BB27691CD9DDF3009A0813 /* FollowHeartVC */ = { 29BB27691CD9DDF3009A0813 /* FollowHeartVC */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
041636BF1CF39568008CE961 /* category */,
04A5203E1CE93604001D4520 /* customCell */, 04A5203E1CE93604001D4520 /* customCell */,
04A5203D1CE90ADB001D4520 /* controller */, 04A5203D1CE90ADB001D4520 /* controller */,
060D39771CE45CFE0082AECD /* tools */, 060D39771CE45CFE0082AECD /* tools */,
...@@ -1393,6 +1416,7 @@ ...@@ -1393,6 +1416,7 @@
29BFBD871CE428B200C238FB /* Customermanager.m in Sources */, 29BFBD871CE428B200C238FB /* Customermanager.m in Sources */,
299C7F5A1CE21FA800E7D7CB /* AddressViewController.m in Sources */, 299C7F5A1CE21FA800E7D7CB /* AddressViewController.m in Sources */,
29BB276C1CD9DE74009A0813 /* FollowHeartViewController.m in Sources */, 29BB276C1CD9DE74009A0813 /* FollowHeartViewController.m in Sources */,
041636C51CF3986F008CE961 /* CustomUIImagePickerController.m in Sources */,
2928F8381CD09E730036D761 /* CustomButton.m in Sources */, 2928F8381CD09E730036D761 /* CustomButton.m in Sources */,
0470D6111CE2936000647F0F /* SeceneLibraryView.m in Sources */, 0470D6111CE2936000647F0F /* SeceneLibraryView.m in Sources */,
293393551CD3379E000D997B /* ShoppingTableViewCell.m in Sources */, 293393551CD3379E000D997B /* ShoppingTableViewCell.m in Sources */,
...@@ -1422,6 +1446,7 @@ ...@@ -1422,6 +1446,7 @@
04F9EE1E1CF25F7300BD729F /* ShareViewController.m in Sources */, 04F9EE1E1CF25F7300BD729F /* ShareViewController.m in Sources */,
2928F8321CD09E320036D761 /* Toolview.m in Sources */, 2928F8321CD09E320036D761 /* Toolview.m in Sources */,
2942F8A61CDD80C2005B377E /* authenticateView.m in Sources */, 2942F8A61CDD80C2005B377E /* authenticateView.m in Sources */,
041636C21CF395B7008CE961 /* NSObject+UIImagePickerController.m in Sources */,
044CD6F11CEB81350004A715 /* ProductCollectionPictureCell.m in Sources */, 044CD6F11CEB81350004A715 /* ProductCollectionPictureCell.m in Sources */,
29BFBD8F1CE44BA900C238FB /* goodsDetailsSectionview.m in Sources */, 29BFBD8F1CE44BA900C238FB /* goodsDetailsSectionview.m in Sources */,
294CF0EC1CEDCF480055F1D8 /* PromptinformationView.m in Sources */, 294CF0EC1CEDCF480055F1D8 /* PromptinformationView.m in Sources */,
...@@ -1437,6 +1462,7 @@ ...@@ -1437,6 +1462,7 @@
04A14A2B1CE0FC7F00DAD5F3 /* FootSubView.m in Sources */, 04A14A2B1CE0FC7F00DAD5F3 /* FootSubView.m in Sources */,
2933934F1CD3158B000D997B /* instructionsLabe.m in Sources */, 2933934F1CD3158B000D997B /* instructionsLabe.m in Sources */,
29F726011CE1D05D0072FE0E /* ScreeningCollectionReusableView.m in Sources */, 29F726011CE1D05D0072FE0E /* ScreeningCollectionReusableView.m in Sources */,
041636BE1CF377F4008CE961 /* CameraView.m in Sources */,
29C584E91CDA249300C6F677 /* ProductCollectionViewCell.m in Sources */, 29C584E91CDA249300C6F677 /* ProductCollectionViewCell.m in Sources */,
299876361CD997F100C90D0A /* PersonInformationTableViewCell.m in Sources */, 299876361CD997F100C90D0A /* PersonInformationTableViewCell.m in Sources */,
2962D0711CD1A58B0058829D /* RightViewController.m in Sources */, 2962D0711CD1A58B0058829D /* RightViewController.m in Sources */,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment