语音通话
|
@ -39,6 +39,16 @@
|
|||
CA0351E62D96726D002D3F98 /* HuiYuanZXQYCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CA0351E52D96726D002D3F98 /* HuiYuanZXQYCollectionViewCell.m */; };
|
||||
CA0351E92D9675D2002D3F98 /* HuiYuanZXGoodsView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA0351E82D9675D2002D3F98 /* HuiYuanZXGoodsView.m */; };
|
||||
CA0351EC2D96778F002D3F98 /* HuiYuanZXGoodsCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CA0351EB2D96778F002D3F98 /* HuiYuanZXGoodsCollectionViewCell.m */; };
|
||||
CA1EAD992D9A267E0008907A /* MoNiZhuanZhangView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA1EAD982D9A267E0008907A /* MoNiZhuanZhangView.m */; };
|
||||
CA1EAD9D2D9A2B7D0008907A /* MoNiYuEViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CA1EAD9C2D9A2B7D0008907A /* MoNiYuEViewController.m */; };
|
||||
CA1EADA12D9A2C190008907A /* MoNiYuEView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA1EADA02D9A2C190008907A /* MoNiYuEView.m */; };
|
||||
CA1EADA52D9A2CE60008907A /* MoNiYuECollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CA1EADA42D9A2CE60008907A /* MoNiYuECollectionViewCell.m */; };
|
||||
CA1EADA92D9A3DED0008907A /* ShiPinDianHuaViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CA1EADA82D9A3DED0008907A /* ShiPinDianHuaViewController.m */; };
|
||||
CA1EADAD2D9A3E8B0008907A /* ShiPinDianHuaView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA1EADAC2D9A3E8B0008907A /* ShiPinDianHuaView.m */; };
|
||||
CA1EADB02D9A65C70008907A /* ShiPinDianHuaShowView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA1EADAF2D9A65C70008907A /* ShiPinDianHuaShowView.m */; };
|
||||
CA1EADB42D9A8DAA0008907A /* YuYinDianHuaViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CA1EADB32D9A8DAA0008907A /* YuYinDianHuaViewController.m */; };
|
||||
CA1EADB82D9A8E780008907A /* YuYinDianHuaView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA1EADB72D9A8E780008907A /* YuYinDianHuaView.m */; };
|
||||
CA1EADBB2D9A91080008907A /* YuYinDianHuaShowView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA1EADBA2D9A91080008907A /* YuYinDianHuaShowView.m */; };
|
||||
CA3CD5792D913CFA002707C1 /* TimeTools.m in Sources */ = {isa = PBXBuildFile; fileRef = CA3CD5782D913CFA002707C1 /* TimeTools.m */; };
|
||||
CA3CD57A2D913CFA002707C1 /* Tools.m in Sources */ = {isa = PBXBuildFile; fileRef = CA3CD5762D913CFA002707C1 /* Tools.m */; };
|
||||
CA3CD59F2D913D27002707C1 /* UserModel.m in Sources */ = {isa = PBXBuildFile; fileRef = CA3CD5872D913D27002707C1 /* UserModel.m */; };
|
||||
|
@ -98,6 +108,7 @@
|
|||
CA589DC72D97C26400D85384 /* DuanXinShowMainHomeCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CA589DC62D97C26400D85384 /* DuanXinShowMainHomeCollectionViewCell.m */; };
|
||||
CA589DCB2D97C94F00D85384 /* WeiXinXXViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CA589DCA2D97C94F00D85384 /* WeiXinXXViewController.m */; };
|
||||
CA589DCF2D97C9A200D85384 /* WeiXinXXView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA589DCE2D97C9A200D85384 /* WeiXinXXView.m */; };
|
||||
CA589DD52D97F34400D85384 /* MoNiZhuanZhangViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CA589DD42D97F34400D85384 /* MoNiZhuanZhangViewController.m */; };
|
||||
CAB2AB482D9242D30022C535 /* MainHomeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CAB2AB472D9242D30022C535 /* MainHomeViewController.m */; };
|
||||
CAB2AB4B2D9242DD0022C535 /* MainMyViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CAB2AB4A2D9242DD0022C535 /* MainMyViewController.m */; };
|
||||
CAB2AB4F2D9244210022C535 /* MainHomeView.m in Sources */ = {isa = PBXBuildFile; fileRef = CAB2AB4E2D9244210022C535 /* MainHomeView.m */; };
|
||||
|
@ -327,6 +338,26 @@
|
|||
CA0351E82D9675D2002D3F98 /* HuiYuanZXGoodsView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HuiYuanZXGoodsView.m; sourceTree = "<group>"; };
|
||||
CA0351EA2D96778F002D3F98 /* HuiYuanZXGoodsCollectionViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HuiYuanZXGoodsCollectionViewCell.h; sourceTree = "<group>"; };
|
||||
CA0351EB2D96778F002D3F98 /* HuiYuanZXGoodsCollectionViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HuiYuanZXGoodsCollectionViewCell.m; sourceTree = "<group>"; };
|
||||
CA1EAD972D9A267E0008907A /* MoNiZhuanZhangView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MoNiZhuanZhangView.h; sourceTree = "<group>"; };
|
||||
CA1EAD982D9A267E0008907A /* MoNiZhuanZhangView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MoNiZhuanZhangView.m; sourceTree = "<group>"; };
|
||||
CA1EAD9B2D9A2B7D0008907A /* MoNiYuEViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MoNiYuEViewController.h; sourceTree = "<group>"; };
|
||||
CA1EAD9C2D9A2B7D0008907A /* MoNiYuEViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MoNiYuEViewController.m; sourceTree = "<group>"; };
|
||||
CA1EAD9F2D9A2C190008907A /* MoNiYuEView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MoNiYuEView.h; sourceTree = "<group>"; };
|
||||
CA1EADA02D9A2C190008907A /* MoNiYuEView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MoNiYuEView.m; sourceTree = "<group>"; };
|
||||
CA1EADA32D9A2CE60008907A /* MoNiYuECollectionViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MoNiYuECollectionViewCell.h; sourceTree = "<group>"; };
|
||||
CA1EADA42D9A2CE60008907A /* MoNiYuECollectionViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MoNiYuECollectionViewCell.m; sourceTree = "<group>"; };
|
||||
CA1EADA72D9A3DED0008907A /* ShiPinDianHuaViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ShiPinDianHuaViewController.h; sourceTree = "<group>"; };
|
||||
CA1EADA82D9A3DED0008907A /* ShiPinDianHuaViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ShiPinDianHuaViewController.m; sourceTree = "<group>"; };
|
||||
CA1EADAB2D9A3E8B0008907A /* ShiPinDianHuaView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ShiPinDianHuaView.h; sourceTree = "<group>"; };
|
||||
CA1EADAC2D9A3E8B0008907A /* ShiPinDianHuaView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ShiPinDianHuaView.m; sourceTree = "<group>"; };
|
||||
CA1EADAE2D9A65C70008907A /* ShiPinDianHuaShowView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ShiPinDianHuaShowView.h; sourceTree = "<group>"; };
|
||||
CA1EADAF2D9A65C70008907A /* ShiPinDianHuaShowView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ShiPinDianHuaShowView.m; sourceTree = "<group>"; };
|
||||
CA1EADB22D9A8DAA0008907A /* YuYinDianHuaViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YuYinDianHuaViewController.h; sourceTree = "<group>"; };
|
||||
CA1EADB32D9A8DAA0008907A /* YuYinDianHuaViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YuYinDianHuaViewController.m; sourceTree = "<group>"; };
|
||||
CA1EADB62D9A8E780008907A /* YuYinDianHuaView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YuYinDianHuaView.h; sourceTree = "<group>"; };
|
||||
CA1EADB72D9A8E780008907A /* YuYinDianHuaView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YuYinDianHuaView.m; sourceTree = "<group>"; };
|
||||
CA1EADB92D9A91080008907A /* YuYinDianHuaShowView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YuYinDianHuaShowView.h; sourceTree = "<group>"; };
|
||||
CA1EADBA2D9A91080008907A /* YuYinDianHuaShowView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YuYinDianHuaShowView.m; sourceTree = "<group>"; };
|
||||
CA3CD5752D913CFA002707C1 /* Tools.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Tools.h; sourceTree = "<group>"; };
|
||||
CA3CD5762D913CFA002707C1 /* Tools.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Tools.m; sourceTree = "<group>"; };
|
||||
CA3CD5772D913CFA002707C1 /* TimeTools.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TimeTools.h; sourceTree = "<group>"; };
|
||||
|
@ -430,6 +461,8 @@
|
|||
CA589DCA2D97C94F00D85384 /* WeiXinXXViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WeiXinXXViewController.m; sourceTree = "<group>"; };
|
||||
CA589DCD2D97C9A200D85384 /* WeiXinXXView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WeiXinXXView.h; sourceTree = "<group>"; };
|
||||
CA589DCE2D97C9A200D85384 /* WeiXinXXView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WeiXinXXView.m; sourceTree = "<group>"; };
|
||||
CA589DD32D97F34400D85384 /* MoNiZhuanZhangViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MoNiZhuanZhangViewController.h; sourceTree = "<group>"; };
|
||||
CA589DD42D97F34400D85384 /* MoNiZhuanZhangViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MoNiZhuanZhangViewController.m; sourceTree = "<group>"; };
|
||||
CAB2AB462D9242D30022C535 /* MainHomeViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MainHomeViewController.h; sourceTree = "<group>"; };
|
||||
CAB2AB472D9242D30022C535 /* MainHomeViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MainHomeViewController.m; sourceTree = "<group>"; };
|
||||
CAB2AB492D9242DD0022C535 /* MainMyViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MainMyViewController.h; sourceTree = "<group>"; };
|
||||
|
@ -971,6 +1004,86 @@
|
|||
path = cell;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CA1EAD962D9A266E0008907A /* view */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CA1EAD972D9A267E0008907A /* MoNiZhuanZhangView.h */,
|
||||
CA1EAD982D9A267E0008907A /* MoNiZhuanZhangView.m */,
|
||||
);
|
||||
path = view;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CA1EAD9A2D9A2B680008907A /* 模拟余额 */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CA1EADA22D9A2CD40008907A /* cell */,
|
||||
CA1EAD9E2D9A2C0C0008907A /* view */,
|
||||
CA1EAD9B2D9A2B7D0008907A /* MoNiYuEViewController.h */,
|
||||
CA1EAD9C2D9A2B7D0008907A /* MoNiYuEViewController.m */,
|
||||
);
|
||||
path = "模拟余额";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CA1EAD9E2D9A2C0C0008907A /* view */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CA1EAD9F2D9A2C190008907A /* MoNiYuEView.h */,
|
||||
CA1EADA02D9A2C190008907A /* MoNiYuEView.m */,
|
||||
);
|
||||
path = view;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CA1EADA22D9A2CD40008907A /* cell */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CA1EADA32D9A2CE60008907A /* MoNiYuECollectionViewCell.h */,
|
||||
CA1EADA42D9A2CE60008907A /* MoNiYuECollectionViewCell.m */,
|
||||
);
|
||||
path = cell;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CA1EADA62D9A3DD20008907A /* 视频电话 */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CA1EADAA2D9A3E730008907A /* view */,
|
||||
CA1EADA72D9A3DED0008907A /* ShiPinDianHuaViewController.h */,
|
||||
CA1EADA82D9A3DED0008907A /* ShiPinDianHuaViewController.m */,
|
||||
);
|
||||
path = "视频电话";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CA1EADAA2D9A3E730008907A /* view */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CA1EADAB2D9A3E8B0008907A /* ShiPinDianHuaView.h */,
|
||||
CA1EADAC2D9A3E8B0008907A /* ShiPinDianHuaView.m */,
|
||||
CA1EADAE2D9A65C70008907A /* ShiPinDianHuaShowView.h */,
|
||||
CA1EADAF2D9A65C70008907A /* ShiPinDianHuaShowView.m */,
|
||||
);
|
||||
path = view;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CA1EADB12D9A8D7A0008907A /* 语音电话 */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CA1EADB52D9A8E690008907A /* view */,
|
||||
CA1EADB22D9A8DAA0008907A /* YuYinDianHuaViewController.h */,
|
||||
CA1EADB32D9A8DAA0008907A /* YuYinDianHuaViewController.m */,
|
||||
);
|
||||
path = "语音电话";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CA1EADB52D9A8E690008907A /* view */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CA1EADB62D9A8E780008907A /* YuYinDianHuaView.h */,
|
||||
CA1EADB72D9A8E780008907A /* YuYinDianHuaView.m */,
|
||||
CA1EADB92D9A91080008907A /* YuYinDianHuaShowView.h */,
|
||||
CA1EADBA2D9A91080008907A /* YuYinDianHuaShowView.m */,
|
||||
);
|
||||
path = view;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CA3CD57B2D913D20002707C1 /* NetWorkManager */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
|
@ -1145,9 +1258,23 @@
|
|||
path = view;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CA589DD22D97F32900D85384 /* 模拟转账 */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CA1EAD962D9A266E0008907A /* view */,
|
||||
CA589DD32D97F34400D85384 /* MoNiZhuanZhangViewController.h */,
|
||||
CA589DD42D97F34400D85384 /* MoNiZhuanZhangViewController.m */,
|
||||
);
|
||||
path = "模拟转账";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CAB2AB442D9242B70022C535 /* 首页 */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CA1EADB12D9A8D7A0008907A /* 语音电话 */,
|
||||
CA1EADA62D9A3DD20008907A /* 视频电话 */,
|
||||
CA1EAD9A2D9A2B680008907A /* 模拟余额 */,
|
||||
CA589DD22D97F32900D85384 /* 模拟转账 */,
|
||||
CA589DC82D97C93B00D85384 /* 微信消息 */,
|
||||
CAB2AB522D9284EF0022C535 /* 短信通知 */,
|
||||
CAB2AB4C2D9244070022C535 /* view */,
|
||||
|
@ -2295,6 +2422,7 @@
|
|||
CB489F582744A0BD00DA044A /* UIDevice+PGJ.m in Sources */,
|
||||
CBD422B128DAEDFC00C32440 /* UIImageView+PWebCache.m in Sources */,
|
||||
CB489FB32744A0BD00DA044A /* THDatePickerView.m in Sources */,
|
||||
CA1EADA12D9A2C190008907A /* MoNiYuEView.m in Sources */,
|
||||
CA0351D82D965213002D3F98 /* HuiYuanZXViewController.m in Sources */,
|
||||
CB489FB62744A0BD00DA044A /* NSDate+CXCategory.m in Sources */,
|
||||
CB489F612744A0BD00DA044A /* ListAlterView.m in Sources */,
|
||||
|
@ -2308,6 +2436,7 @@
|
|||
CB489F6B2744A0BD00DA044A /* LJsignView.m in Sources */,
|
||||
CA0351892D963254002D3F98 /* ZhangHaoBDTableViewCell.m in Sources */,
|
||||
CB489F622744A0BD00DA044A /* MDBwebVIew.m in Sources */,
|
||||
CA589DD52D97F34400D85384 /* MoNiZhuanZhangViewController.m in Sources */,
|
||||
CB489F992744A0BD00DA044A /* UserInfoModel.m in Sources */,
|
||||
CB489DCA27449D5C00DA044A /* AppDelegate.m in Sources */,
|
||||
CA0351942D96440F002D3F98 /* ZhangHuGuanLiViewController.m in Sources */,
|
||||
|
@ -2350,6 +2479,7 @@
|
|||
CA3CD6102D9140D5002707C1 /* PayPublicYouHuiLogListView.m in Sources */,
|
||||
CA3CD6112D9140D5002707C1 /* PayPublicView.m in Sources */,
|
||||
CA3CD6122D9140D5002707C1 /* PayPublicYouHuiView.m in Sources */,
|
||||
CA1EAD9D2D9A2B7D0008907A /* MoNiYuEViewController.m in Sources */,
|
||||
CA3CD6132D9140D5002707C1 /* PayPublicYouHuiTableViewCell.m in Sources */,
|
||||
CB489F6D2744A0BD00DA044A /* UIView+Additions.m in Sources */,
|
||||
CB489FA92744A0BD00DA044A /* UIView+XLExtension.m in Sources */,
|
||||
|
@ -2358,6 +2488,7 @@
|
|||
CB489F512744A0BD00DA044A /* PGJSearchView.m in Sources */,
|
||||
CB489F7A2744A0BD00DA044A /* FSTextView.m in Sources */,
|
||||
CA03519C2D964841002D3F98 /* GuanYuWoMenViewController.m in Sources */,
|
||||
CA1EADB02D9A65C70008907A /* ShiPinDianHuaShowView.m in Sources */,
|
||||
CAB2AB592D9285A90022C535 /* DuanXinView.m in Sources */,
|
||||
CB489F6F2744A0BD00DA044A /* XLAlertView.m in Sources */,
|
||||
CA589DBD2D978FE900D85384 /* MNHeiPeiView.m in Sources */,
|
||||
|
@ -2381,10 +2512,12 @@
|
|||
CA3CD5BA2D913D3E002707C1 /* PayManager.m in Sources */,
|
||||
CA3CD5BB2D913D3E002707C1 /* VistaInAppPurchaseManager.m in Sources */,
|
||||
CB489FB42744A0BD00DA044A /* CXDatePickerView.m in Sources */,
|
||||
CA1EADA92D9A3DED0008907A /* ShiPinDianHuaViewController.m in Sources */,
|
||||
CB489F7B2744A0BD00DA044A /* UIImageView+VideoImageView.m in Sources */,
|
||||
CB489F602744A0BD00DA044A /* GETCorelLocation.m in Sources */,
|
||||
CA589DBA2D9786C000D85384 /* PickerAlterView.m in Sources */,
|
||||
CB489F892744A0BD00DA044A /* TagInfoModel.m in Sources */,
|
||||
CA1EADA52D9A2CE60008907A /* MoNiYuECollectionViewCell.m in Sources */,
|
||||
CAE017012D94F64F004777D4 /* LoginTelView.m in Sources */,
|
||||
CB489F8E2744A0BD00DA044A /* UITextFieldYS.m in Sources */,
|
||||
CB489F922744A0BD00DA044A /* IndexGetNewsModel.m in Sources */,
|
||||
|
@ -2404,6 +2537,7 @@
|
|||
CAE017052D951F70004777D4 /* TTTAttributedLabel.m in Sources */,
|
||||
CB489F632744A0BD00DA044A /* CountDownManager.m in Sources */,
|
||||
CA589DB72D97827900D85384 /* AlterSheetView.m in Sources */,
|
||||
CA1EADB42D9A8DAA0008907A /* YuYinDianHuaViewController.m in Sources */,
|
||||
CB489F9A2744A0BD00DA044A /* baseInfoModel.m in Sources */,
|
||||
CB489F6E2744A0BD00DA044A /* UIButton+EnlargeTouchArea.m in Sources */,
|
||||
CB489F972744A0BD00DA044A /* WkWebviewViewController.m in Sources */,
|
||||
|
@ -2417,6 +2551,7 @@
|
|||
CA3CD5B42D913D33002707C1 /* PublicNetWorkManager.m in Sources */,
|
||||
CA3CD5B52D913D33002707C1 /* PublicUploadImageManager.m in Sources */,
|
||||
CAB2AB482D9242D30022C535 /* MainHomeViewController.m in Sources */,
|
||||
CA1EADB82D9A8E780008907A /* YuYinDianHuaView.m in Sources */,
|
||||
CB489F682744A0BD00DA044A /* DAYCalendarView.m in Sources */,
|
||||
CAB2AB4B2D9242DD0022C535 /* MainMyViewController.m in Sources */,
|
||||
CA589DCB2D97C94F00D85384 /* WeiXinXXViewController.m in Sources */,
|
||||
|
@ -2439,10 +2574,13 @@
|
|||
CA0351A32D964926002D3F98 /* PeiZhiShowView.m in Sources */,
|
||||
CB489FAF2744A0BD00DA044A /* FSActionSheetConfig.m in Sources */,
|
||||
CB489FB52744A0BD00DA044A /* HYTimePickerView.m in Sources */,
|
||||
CA1EADAD2D9A3E8B0008907A /* ShiPinDianHuaView.m in Sources */,
|
||||
CB489F722744A0BD00DA044A /* MCTabBarController.m in Sources */,
|
||||
CA1EAD992D9A267E0008907A /* MoNiZhuanZhangView.m in Sources */,
|
||||
CAE0171E2D95379B004777D4 /* YiJianFanKuiView.m in Sources */,
|
||||
CAE0171F2D95379B004777D4 /* ImageCollectionViewCell.m in Sources */,
|
||||
CAE017202D95379B004777D4 /* YiJianFanKuiController.m in Sources */,
|
||||
CA1EADBB2D9A91080008907A /* YuYinDianHuaShowView.m in Sources */,
|
||||
CAE0170C2D952EA2004777D4 /* MainMyUserView.m in Sources */,
|
||||
CB489F732744A0BD00DA044A /* BaseViewController.m in Sources */,
|
||||
CA3CD5792D913CFA002707C1 /* TimeTools.m in Sources */,
|
||||
|
@ -2626,6 +2764,7 @@
|
|||
INFOPLIST_FILE = ProductApp/Info.plist;
|
||||
INFOPLIST_KEY_CFBundleDisplayName = "装佯大师";
|
||||
INFOPLIST_KEY_NSCameraUsageDescription = "装佯大师意见反馈和短信通知和模拟来电上传图片需要使用相机";
|
||||
INFOPLIST_KEY_NSMicrophoneUsageDescription = "相机";
|
||||
INFOPLIST_KEY_NSPhotoLibraryAddUsageDescription = "装佯大师意见反馈和短信通知和模拟来电上传图片需要使用相册";
|
||||
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
|
||||
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
|
||||
|
@ -2690,6 +2829,7 @@
|
|||
INFOPLIST_FILE = ProductApp/Info.plist;
|
||||
INFOPLIST_KEY_CFBundleDisplayName = "装佯大师";
|
||||
INFOPLIST_KEY_NSCameraUsageDescription = "装佯大师意见反馈和短信通知和模拟来电上传图片需要使用相机";
|
||||
INFOPLIST_KEY_NSMicrophoneUsageDescription = "相机";
|
||||
INFOPLIST_KEY_NSPhotoLibraryAddUsageDescription = "装佯大师意见反馈和短信通知和模拟来电上传图片需要使用相册";
|
||||
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
|
||||
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
22
ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/mnzz_微信模拟.imageset/Contents.json
vendored
Normal file
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "组 45744@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "组 45744@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/mnzz_微信模拟.imageset/组 45744@2x.png
vendored
Normal file
After Width: | Height: | Size: 108 KiB |
BIN
ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/mnzz_微信模拟.imageset/组 45744@3x.png
vendored
Normal file
After Width: | Height: | Size: 245 KiB |
22
ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_select.imageset/Contents.json
vendored
Normal file
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "组 44147@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "组 44147@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_select.imageset/组 44147@2x.png
vendored
Normal file
After Width: | Height: | Size: 2.1 KiB |
BIN
ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_select.imageset/组 44147@3x.png
vendored
Normal file
After Width: | Height: | Size: 3.9 KiB |
22
ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信服务.imageset/Contents.json
vendored
Normal file
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "钱包@3x@2x(1).png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "钱包@3x@3x(1).png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信服务.imageset/钱包@3x@2x(1).png
vendored
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信服务.imageset/钱包@3x@3x(1).png
vendored
Normal file
After Width: | Height: | Size: 46 KiB |
22
ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信钱包.imageset/Contents.json
vendored
Normal file
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "钱包@3x@2x(3).png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "钱包@3x@3x(3).png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信钱包.imageset/钱包@3x@2x(3).png
vendored
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信钱包.imageset/钱包@3x@3x(3).png
vendored
Normal file
After Width: | Height: | Size: 30 KiB |
22
ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信零钱.imageset/Contents.json
vendored
Normal file
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "钱包@3x@2x(2).png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "钱包@3x@3x(2).png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信零钱.imageset/钱包@3x@2x(2).png
vendored
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
ProductApp/ProductApp/Assets.xcassets/mainHome/模拟转账/zz_wx_微信零钱.imageset/钱包@3x@3x(2).png
vendored
Normal file
After Width: | Height: | Size: 24 KiB |
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
22
ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_sf.imageset/Contents.json
vendored
Normal file
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "容器@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "容器@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_sf.imageset/容器@2x.png
vendored
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_sf.imageset/容器@3x.png
vendored
Normal file
After Width: | Height: | Size: 1.7 KiB |
22
ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_扬声器已关.imageset/Contents.json
vendored
Normal file
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "组 45426@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "组 45426@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_扬声器已关.imageset/组 45426@2x.png
vendored
Normal file
After Width: | Height: | Size: 6.0 KiB |
BIN
ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_扬声器已关.imageset/组 45426@3x.png
vendored
Normal file
After Width: | Height: | Size: 11 KiB |
22
ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_扬声器已开.imageset/Contents.json
vendored
Normal file
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "组 45426@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "组 45426@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_扬声器已开.imageset/组 45426@2x.png
vendored
Normal file
After Width: | Height: | Size: 4.1 KiB |
BIN
ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_扬声器已开.imageset/组 45426@3x.png
vendored
Normal file
After Width: | Height: | Size: 7.5 KiB |
22
ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_挂断.imageset/Contents.json
vendored
Normal file
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "组 45426@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "组 45426@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_挂断.imageset/组 45426@2x.png
vendored
Normal file
After Width: | Height: | Size: 4.7 KiB |
BIN
ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_挂断.imageset/组 45426@3x.png
vendored
Normal file
After Width: | Height: | Size: 8.9 KiB |
22
ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_接听.imageset/Contents.json
vendored
Normal file
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "组 45426@2x(1).png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "组 45426@3x(1).png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_接听.imageset/组 45426@2x(1).png
vendored
Normal file
After Width: | Height: | Size: 4.5 KiB |
BIN
ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_接听.imageset/组 45426@3x(1).png
vendored
Normal file
After Width: | Height: | Size: 8.5 KiB |
22
ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_摄像头已开.imageset/Contents.json
vendored
Normal file
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "组 45426@2x(2).png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "组 45426@3x(2).png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_摄像头已开.imageset/组 45426@2x(2).png
vendored
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_摄像头已开.imageset/组 45426@3x(2).png
vendored
Normal file
After Width: | Height: | Size: 6.1 KiB |
22
ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_模糊背景.imageset/Contents.json
vendored
Normal file
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "组 45426@2x(3).png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "组 45426@3x(3).png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_模糊背景.imageset/组 45426@2x(3).png
vendored
Normal file
After Width: | Height: | Size: 5.0 KiB |
BIN
ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_模糊背景.imageset/组 45426@3x(3).png
vendored
Normal file
After Width: | Height: | Size: 9.7 KiB |
22
ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_翻转.imageset/Contents.json
vendored
Normal file
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "组 45426@2x(4).png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "组 45426@3x(4).png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_翻转.imageset/组 45426@2x(4).png
vendored
Normal file
After Width: | Height: | Size: 5.0 KiB |
BIN
ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_翻转.imageset/组 45426@3x(4).png
vendored
Normal file
After Width: | Height: | Size: 9.2 KiB |
22
ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_麦克风已开.imageset/Contents.json
vendored
Normal file
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "组 45426@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "组 45426@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_麦克风已开.imageset/组 45426@2x.png
vendored
Normal file
After Width: | Height: | Size: 4.2 KiB |
BIN
ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_麦克风已开.imageset/组 45426@3x.png
vendored
Normal file
After Width: | Height: | Size: 7.8 KiB |
22
ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_麦克风已开_大.imageset/Contents.json
vendored
Normal file
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "组 45426@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "组 45426@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_麦克风已开_大.imageset/组 45426@2x.png
vendored
Normal file
After Width: | Height: | Size: 4.6 KiB |
BIN
ProductApp/ProductApp/Assets.xcassets/mainHome/视频电话/spth_麦克风已开_大.imageset/组 45426@3x.png
vendored
Normal file
After Width: | Height: | Size: 8.7 KiB |
|
@ -98,7 +98,7 @@
|
|||
|
||||
imagePickerController.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera];//设定相机为视频
|
||||
imagePickerController.cameraDevice = UIImagePickerControllerCameraDeviceRear;//设置相机后摄像头
|
||||
imagePickerController.videoMaximumDuration = 10;//最长拍摄时间
|
||||
imagePickerController.videoMaximumDuration = 600;//最长拍摄时间
|
||||
imagePickerController.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo;
|
||||
imagePickerController.videoQuality = UIImagePickerControllerQualityType640x480;//拍摄质量
|
||||
|
||||
|
@ -107,9 +107,14 @@
|
|||
else
|
||||
{
|
||||
//这里只选择展示视频
|
||||
imagePickerController.videoMaximumDuration = 10.0;//视频最长长度
|
||||
imagePickerController.mediaTypes = [NSArray arrayWithObjects:@"public.movie", nil];
|
||||
imagePickerController.allowsEditing = NO;
|
||||
// imagePickerController.videoMaximumDuration = 600.0;//视频最长长度
|
||||
// imagePickerController.mediaTypes = [NSArray arrayWithObjects:@"public.movie", nil];
|
||||
// imagePickerController.allowsEditing = NO;
|
||||
imagePickerController.videoQuality = UIImagePickerControllerQualityTypeHigh;
|
||||
imagePickerController.allowsEditing = YES;
|
||||
imagePickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
|
||||
imagePickerController.mediaTypes = [NSArray arrayWithObjects:@"public.movie", nil];
|
||||
imagePickerController.videoExportPreset = AVAssetExportPresetPassthrough;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -119,6 +124,7 @@
|
|||
}
|
||||
|
||||
[[NSUserDefaults standardUserDefaults] setObject:@"2" forKey:@"tcjdsfxysxin"];
|
||||
viewController.modalPresentationStyle = UIModalPresentationCurrentContext;
|
||||
[viewController presentViewController:imagePickerController animated:YES completion:nil];
|
||||
|
||||
}
|
||||
|
|
|
@ -80,8 +80,8 @@
|
|||
make.top.equalTo(viewxw.mas_bottom).offset(10);
|
||||
make.height.offset(90);
|
||||
}];
|
||||
// [self drawSmallsView:viewcenter values:@[@"模拟来电",@"语音电话",@"视频电话",@"微信通知"]];
|
||||
[self drawSmallsView:viewcenter values:@[@"语音电话",@"视频电话"]];
|
||||
[self drawSmallsView:viewcenter values:@[@"模拟来电",@"语音电话",@"视频电话",@"微信通知"]];
|
||||
// [self drawSmallsView:viewcenter values:@[@"语音电话",@"视频电话"]];
|
||||
|
||||
UIView *viewbottom = [[UIView alloc] init];
|
||||
[viewinfo addSubview:viewbottom];
|
||||
|
@ -90,8 +90,8 @@
|
|||
make.top.equalTo(viewcenter.mas_bottom).offset(10);
|
||||
make.height.offset(90);
|
||||
}];
|
||||
// [self drawSmallsView:viewbottom values:@[@"模拟余额",@"模拟转账",@"短信通知",@"模拟关机"]];
|
||||
[self drawSmallsView:viewbottom values:@[@"模拟来电",@"短信通知",@"模拟关机",@"微信通知"]];
|
||||
[self drawSmallsView:viewbottom values:@[@"模拟余额",@"模拟转账",@"短信通知",@"模拟关机"]];
|
||||
// [self drawSmallsView:viewbottom values:@[@"模拟来电",@"短信通知",@"模拟关机",@"微信通知"]];
|
||||
|
||||
|
||||
SDCycleScrollView *cleScrollBottomView = [SDCycleScrollView cycleScrollViewWithFrame:CGRectZero imageNamesGroup:@[]];
|
||||
|
@ -127,28 +127,11 @@
|
|||
|
||||
-(void)drawInfoTop:(UIView *)view
|
||||
{
|
||||
[view mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.offset(11);
|
||||
}];
|
||||
UIImage *image = [UIImage imageNamed:@"mainHome_zzBig"];
|
||||
float f_w = UISCREEN_WIDTH-24;
|
||||
float f_h = image.size.height*f_w/image.size.width;
|
||||
UIImageView *imgvzz = [[UIImageView alloc] init];
|
||||
[imgvzz setImage:image];
|
||||
[view addSubview:imgvzz];
|
||||
[imgvzz mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.offset(12);
|
||||
make.top.offset(0);
|
||||
make.width.offset(f_w);
|
||||
make.height.offset(f_h);
|
||||
}];
|
||||
[self drawBigBigView:imgvzz name:@"转账提示音" itag:0];
|
||||
[view mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.bottom.equalTo(imgvzz);
|
||||
}];
|
||||
|
||||
// UIImage *image = [UIImage imageNamed:@"mainHome_转账提示音"];
|
||||
// float f_w = (UISCREEN_WIDTH-24)/2.0*1.1;
|
||||
// [view mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||
// make.top.offset(11);
|
||||
// }];
|
||||
// UIImage *image = [UIImage imageNamed:@"mainHome_zzBig"];
|
||||
// float f_w = UISCREEN_WIDTH-24;
|
||||
// float f_h = image.size.height*f_w/image.size.width;
|
||||
// UIImageView *imgvzz = [[UIImageView alloc] init];
|
||||
// [imgvzz setImage:image];
|
||||
|
@ -159,33 +142,50 @@
|
|||
// make.width.offset(f_w);
|
||||
// make.height.offset(f_h);
|
||||
// }];
|
||||
// [self drawBigView:imgvzz name:@"转账提示音" isbig:YES itag:0];
|
||||
//
|
||||
// UIImageView *imgvwx = [[UIImageView alloc] init];
|
||||
// [imgvwx setImage:[UIImage imageNamed:@"mainHome_模拟微信"]];
|
||||
// [view addSubview:imgvwx];
|
||||
// [imgvwx mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
// make.top.offset(0);
|
||||
// make.right.equalTo(view).offset(-12);
|
||||
// make.width.offset(UISCREEN_WIDTH-f_w-26);
|
||||
// make.height.offset((f_h-12)/2.0);
|
||||
// }];
|
||||
// [self drawBigView:imgvwx name:@"模拟微信" isbig:NO itag:1];
|
||||
//
|
||||
// UIImageView *imgvzfb = [[UIImageView alloc] init];
|
||||
// [imgvzfb setImage:[UIImage imageNamed:@"mainHome_模拟支付宝"]];
|
||||
// [view addSubview:imgvzfb];
|
||||
// [imgvzfb mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
// make.bottom.equalTo(imgvzz);
|
||||
// make.right.equalTo(view).offset(-12);
|
||||
// make.width.offset(UISCREEN_WIDTH-f_w-18);
|
||||
// make.height.equalTo(imgvwx);
|
||||
// }];
|
||||
// [self drawBigView:imgvzfb name:@"模拟支付宝" isbig:NO itag:2];
|
||||
//
|
||||
// [self drawBigBigView:imgvzz name:@"转账提示音" itag:0];
|
||||
// [view mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
// make.bottom.equalTo(imgvzz);
|
||||
// }];
|
||||
|
||||
UIImage *image = [UIImage imageNamed:@"mainHome_转账提示音"];
|
||||
float f_w = (UISCREEN_WIDTH-24)/2.0*1.1;
|
||||
float f_h = image.size.height*f_w/image.size.width;
|
||||
UIImageView *imgvzz = [[UIImageView alloc] init];
|
||||
[imgvzz setImage:image];
|
||||
[view addSubview:imgvzz];
|
||||
[imgvzz mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.offset(12);
|
||||
make.top.offset(0);
|
||||
make.width.offset(f_w);
|
||||
make.height.offset(f_h);
|
||||
}];
|
||||
[self drawBigView:imgvzz name:@"转账提示音" isbig:YES itag:0];
|
||||
|
||||
UIImageView *imgvwx = [[UIImageView alloc] init];
|
||||
[imgvwx setImage:[UIImage imageNamed:@"mainHome_模拟微信"]];
|
||||
[view addSubview:imgvwx];
|
||||
[imgvwx mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.offset(0);
|
||||
make.right.equalTo(view).offset(-12);
|
||||
make.width.offset(UISCREEN_WIDTH-f_w-26);
|
||||
make.height.offset((f_h-12)/2.0);
|
||||
}];
|
||||
[self drawBigView:imgvwx name:@"模拟微信" isbig:NO itag:1];
|
||||
|
||||
UIImageView *imgvzfb = [[UIImageView alloc] init];
|
||||
[imgvzfb setImage:[UIImage imageNamed:@"mainHome_模拟支付宝"]];
|
||||
[view addSubview:imgvzfb];
|
||||
[imgvzfb mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.bottom.equalTo(imgvzz);
|
||||
make.right.equalTo(view).offset(-12);
|
||||
make.width.offset(UISCREEN_WIDTH-f_w-18);
|
||||
make.height.equalTo(imgvwx);
|
||||
}];
|
||||
[self drawBigView:imgvzfb name:@"模拟支付宝" isbig:NO itag:2];
|
||||
|
||||
[view mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.bottom.equalTo(imgvzz);
|
||||
}];
|
||||
}
|
||||
-(void)drawSmallsView:(UIView *)view values:(NSArray *)values
|
||||
{
|
||||
|
@ -447,12 +447,14 @@
|
|||
break;
|
||||
case 4:
|
||||
{
|
||||
|
||||
UIViewController *vc = [NSClassFromString(@"YuYinDianHuaViewController") new];
|
||||
[self.viewController.navigationController pushViewController:vc animated:YES];
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
{
|
||||
|
||||
UIViewController *vc = [NSClassFromString(@"ShiPinDianHuaViewController") new];
|
||||
[self.viewController.navigationController pushViewController:vc animated:YES];
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
|
@ -463,12 +465,14 @@
|
|||
break;
|
||||
case 7:
|
||||
{
|
||||
|
||||
UIViewController *vc = [NSClassFromString(@"MoNiYuEViewController") new];
|
||||
[self.viewController.navigationController pushViewController:vc animated:YES];
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
{
|
||||
|
||||
UIViewController *vc = [NSClassFromString(@"MoNiZhuanZhangViewController") new];
|
||||
[self.viewController.navigationController pushViewController:vc animated:YES];
|
||||
}
|
||||
break;
|
||||
case 9:
|
||||
|
|
|
@ -316,6 +316,7 @@
|
|||
}
|
||||
-(void)imageAction:(UIButton *)sender
|
||||
{
|
||||
[self endEditing:YES];
|
||||
_tools.isedit = NO;
|
||||
[AlterSheetView showAlterSheetTitle:@"" bts:@[@"随机获取",@"拍照",@"相册中选择"] buttomTitle:@"取消" otherBtsColor:RGBCOLOR(92, 117, 248) otherColorTitles:@[@"随机获取"] backValue:^(NSInteger tag) {
|
||||
NSLog(@"%ld",tag);
|
||||
|
@ -335,7 +336,7 @@
|
|||
}
|
||||
-(void)itemAction:(UIButton *)sender
|
||||
{
|
||||
|
||||
[self endEditing:YES];
|
||||
[PickerAlterView showPickers:@[@"3秒钟",@"10秒钟",@"30秒钟",@"1分钟",@"2分钟",@"3分钟",@"5分钟",@"10分钟",@"30分钟"] title:@"选择时间" backValue:^(NSString * _Nonnull strback) {
|
||||
self.fieldtime.text = strback;
|
||||
}];
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
//
|
||||
// MoNiYuEViewController.h
|
||||
// ProductApp
|
||||
//
|
||||
// Created by 工作 on 2025/3/31.
|
||||
//
|
||||
|
||||
#import "BaseViewController.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface MoNiYuEViewController : BaseViewController
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
|
@ -0,0 +1,41 @@
|
|||
//
|
||||
// MoNiYuEViewController.m
|
||||
// ProductApp
|
||||
//
|
||||
// Created by 工作 on 2025/3/31.
|
||||
//
|
||||
|
||||
#import "MoNiYuEViewController.h"
|
||||
#import "MoNiYuEView.h"
|
||||
|
||||
|
||||
@interface MoNiYuEViewController ()
|
||||
|
||||
@end
|
||||
|
||||
@implementation MoNiYuEViewController
|
||||
- (UIStatusBarStyle)preferredStatusBarStyle {
|
||||
return UIStatusBarStyleDefault;
|
||||
}
|
||||
- (void)viewWillAppear:(BOOL)animated {
|
||||
[super viewWillAppear:animated];
|
||||
[self.navigationController setNavigationBarHidden:YES animated:animated];
|
||||
[self showNaviGationView:YES];
|
||||
[self.navigationView setTitle:@"模拟余额" titleColor:RGBCOLOR(60, 60, 60)];
|
||||
[self.navigationView setBackgroundColor:[UIColor whiteColor]];
|
||||
}
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
[self.view setBackgroundColor:[UIColor whiteColor]];
|
||||
|
||||
MoNiYuEView *view = [[MoNiYuEView alloc] init];
|
||||
[self.view addSubview:view];
|
||||
[view mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.right.bottom.equalTo(self.view);
|
||||
make.top.offset(NavHeight);
|
||||
}];
|
||||
|
||||
}
|
||||
|
||||
|
||||
@end
|
|
@ -0,0 +1,18 @@
|
|||
//
|
||||
// MoNiYuECollectionViewCell.h
|
||||
// ProductApp
|
||||
//
|
||||
// Created by 工作 on 2025/3/31.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface MoNiYuECollectionViewCell : UICollectionViewCell
|
||||
///
|
||||
@property (nonatomic , strong) baseInfoModel *model;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
|
@ -0,0 +1,94 @@
|
|||
//
|
||||
// MoNiYuECollectionViewCell.m
|
||||
// ProductApp
|
||||
//
|
||||
// Created by 工作 on 2025/3/31.
|
||||
//
|
||||
|
||||
#import "MoNiYuECollectionViewCell.h"
|
||||
|
||||
|
||||
@interface MoNiYuECollectionViewCell ()
|
||||
///
|
||||
@property (nonatomic , strong) UIView *viewback;
|
||||
///
|
||||
@property (nonatomic , strong) UIImageView *imgvback;
|
||||
///
|
||||
@property (nonatomic , strong) UILabel *lbname;
|
||||
///
|
||||
@property (nonatomic , strong) UIImageView *imgvselect;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
|
||||
@implementation MoNiYuECollectionViewCell
|
||||
-(id)initWithFrame:(CGRect)frame
|
||||
{
|
||||
if(self = [super initWithFrame:frame])
|
||||
{
|
||||
UIView *viewback = [[UIView alloc] init];
|
||||
[viewback setBackgroundColor:RGBCOLOR(246, 246, 246)];
|
||||
[self.contentView addSubview:viewback];
|
||||
[viewback mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.equalTo(self);
|
||||
}];
|
||||
[viewback.layer setMasksToBounds:YES];
|
||||
[viewback.layer setCornerRadius:16];
|
||||
[viewback.layer setBorderWidth:1];
|
||||
[viewback.layer setBorderColor:RGBCOLOR(246, 246, 246).CGColor];
|
||||
_viewback = viewback;
|
||||
|
||||
UIImageView *imgvback = [[UIImageView alloc] init];
|
||||
[imgvback setContentMode:UIViewContentModeScaleAspectFit];
|
||||
[viewback addSubview:imgvback];
|
||||
[imgvback mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.offset(16);
|
||||
make.left.right.equalTo(viewback);
|
||||
make.bottom.equalTo(viewback).offset(-50);
|
||||
}];
|
||||
_imgvback = imgvback;
|
||||
|
||||
UILabel *lbname = [[UILabel alloc] init];
|
||||
[lbname setText:@"微信钱包"];
|
||||
[lbname setTextColor:RGBCOLOR(26, 26, 26)];
|
||||
[lbname setTextAlignment:NSTextAlignmentCenter];
|
||||
[lbname setFont:[UIFont systemFontOfSize:14]];
|
||||
[viewback addSubview:lbname];
|
||||
[lbname mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.equalTo(imgvback.mas_bottom).offset(14);
|
||||
make.left.right.equalTo(viewback);
|
||||
}];
|
||||
_lbname = lbname;
|
||||
|
||||
UIImageView *imgvselect = [[UIImageView alloc] init];
|
||||
[imgvselect setImage:[UIImage imageNamed:@"zz_wx_select"]];
|
||||
[viewback addSubview:imgvselect];
|
||||
[imgvselect mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.height.offset(26);
|
||||
make.right.bottom.equalTo(viewback);
|
||||
}];
|
||||
_imgvselect = imgvselect;
|
||||
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
-(void)setModel:(baseInfoModel *)model
|
||||
{
|
||||
_model = model;
|
||||
self.imgvback.image = [UIImage imageNamed:[NSString stringWithFormat:@"zz_wx_%@",model.title]];
|
||||
self.lbname.text = model.title;
|
||||
if(model.select)
|
||||
{
|
||||
[self.viewback.layer setBorderColor:RGBCOLOR(119, 140, 245).CGColor];
|
||||
[self.imgvselect setHidden:NO];
|
||||
}
|
||||
else
|
||||
{
|
||||
[self.viewback.layer setBorderColor:RGBCOLOR(246, 246, 246).CGColor];
|
||||
[self.imgvselect setHidden:YES];
|
||||
}
|
||||
}
|
||||
|
||||
@end
|
|
@ -0,0 +1,16 @@
|
|||
//
|
||||
// MoNiYuEView.h
|
||||
// ProductApp
|
||||
//
|
||||
// Created by 工作 on 2025/3/31.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface MoNiYuEView : UIView
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
|
@ -0,0 +1,125 @@
|
|||
//
|
||||
// MoNiYuEView.m
|
||||
// ProductApp
|
||||
//
|
||||
// Created by 工作 on 2025/3/31.
|
||||
//
|
||||
|
||||
#import "MoNiYuEView.h"
|
||||
#import "MoNiYuECollectionViewCell.h"
|
||||
|
||||
@interface MoNiYuEView ()<UICollectionViewDelegate,UICollectionViewDataSource>
|
||||
///
|
||||
@property (nonatomic , strong) UICollectionView *collect;
|
||||
|
||||
///
|
||||
@property (nonatomic , strong) NSMutableArray *arrdata;
|
||||
|
||||
@end
|
||||
|
||||
@implementation MoNiYuEView
|
||||
|
||||
-(id)initWithFrame:(CGRect)frame
|
||||
{
|
||||
if(self = [super initWithFrame:frame])
|
||||
{
|
||||
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
|
||||
layout.minimumLineSpacing = 0;
|
||||
layout.minimumInteritemSpacing = 0;
|
||||
UICollectionView *collect = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout];
|
||||
[collect setScrollEnabled:NO];
|
||||
[collect setDelegate:self];
|
||||
[collect setDataSource:self];
|
||||
[collect setBackgroundColor:[UIColor clearColor]];
|
||||
[self addSubview:collect];
|
||||
[collect mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.width.top.equalTo(self);
|
||||
make.bottom.equalTo(self).offset(-TabHeight-30);
|
||||
}];
|
||||
[collect registerClass:[MoNiYuECollectionViewCell class] forCellWithReuseIdentifier:@"MoNiYuECollectionViewCell"];
|
||||
_collect = collect;
|
||||
|
||||
UIButton *btok = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, UISCREEN_WIDTH-32, 46)];
|
||||
[btok setTitle:@"开始模拟" forState:UIControlStateNormal];
|
||||
[btok setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
|
||||
[btok.titleLabel setFont:[UIFont systemFontOfSize:15]];
|
||||
[btok.layer setMasksToBounds:YES];
|
||||
[btok.layer setCornerRadius:23];
|
||||
[self addSubview:btok];
|
||||
[btok mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.offset(16);
|
||||
make.bottom.equalTo(self).offset(-TabHeight+34);
|
||||
make.right.equalTo(self).offset(-16);
|
||||
make.height.offset(46);
|
||||
}];
|
||||
[btok addTarget:self action:@selector(okAction) forControlEvents:UIControlEventTouchUpInside];
|
||||
[Tools changedView:btok colors:@[(id)RGBCOLOR(119, 140, 245).CGColor,(id)RGBCOLOR(166, 121, 244).CGColor] startPoint:CGPointMake(0, 0) endPoint:CGPointMake(1, 0)];
|
||||
|
||||
[self getdata];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
-(void)getdata
|
||||
{
|
||||
self.arrdata = [NSMutableArray new];
|
||||
NSArray *arr = @[@"微信钱包",@"微信服务",@"微信零钱"];
|
||||
for(int i = 0 ; i < arr.count; i++)
|
||||
{
|
||||
baseInfoModel *model = [baseInfoModel new];
|
||||
model.title = arr[i];
|
||||
if(i==0)
|
||||
{
|
||||
model.select = YES;
|
||||
}
|
||||
[self.arrdata addObject:model];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
-(void)okAction
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
#pragma mark - UICollectionView
|
||||
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
|
||||
{
|
||||
return self.arrdata.count;
|
||||
}
|
||||
- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
|
||||
{
|
||||
MoNiYuECollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"MoNiYuECollectionViewCell" forIndexPath:indexPath];
|
||||
cell.model = self.arrdata[indexPath.row];
|
||||
return cell;
|
||||
}
|
||||
//定义每个section的间距
|
||||
- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section{
|
||||
|
||||
return UIEdgeInsetsMake(20, 20, 20, 20);
|
||||
}
|
||||
//纵向cell间距
|
||||
- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section{
|
||||
return 20;
|
||||
}
|
||||
//cell 间距
|
||||
- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout ForSectionAtIndex:(NSInteger)section{
|
||||
return 20;
|
||||
}
|
||||
// 定义每个UICollectionViewCell 的大小
|
||||
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
|
||||
{
|
||||
return CGSizeMake((UISCREEN_WIDTH-60)/2.0, (UISCREEN_HEIGHT-NavHeight-TabHeight-100)/2.0);
|
||||
}
|
||||
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
|
||||
{
|
||||
for(baseInfoModel *model in self.arrdata)
|
||||
{
|
||||
model.select = NO;
|
||||
}
|
||||
baseInfoModel *model = self.arrdata[indexPath.row];
|
||||
model.select = YES;
|
||||
[self.collect reloadData];
|
||||
}
|
||||
|
||||
@end
|
|
@ -0,0 +1,16 @@
|
|||
//
|
||||
// MoNiZhuanZhangViewController.h
|
||||
// ProductApp
|
||||
//
|
||||
// Created by 工作 on 2025/3/29.
|
||||
//
|
||||
|
||||
#import "BaseViewController.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface MoNiZhuanZhangViewController : BaseViewController
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
|
@ -0,0 +1,44 @@
|
|||
//
|
||||
// MoNiZhuanZhangViewController.m
|
||||
// ProductApp
|
||||
//
|
||||
// Created by 工作 on 2025/3/29.
|
||||
//
|
||||
|
||||
#import "MoNiZhuanZhangViewController.h"
|
||||
#import "MoNiZhuanZhangView.h"
|
||||
|
||||
|
||||
@interface MoNiZhuanZhangViewController ()
|
||||
|
||||
@end
|
||||
|
||||
@implementation MoNiZhuanZhangViewController
|
||||
|
||||
- (UIStatusBarStyle)preferredStatusBarStyle {
|
||||
return UIStatusBarStyleDefault;
|
||||
}
|
||||
- (void)viewWillAppear:(BOOL)animated {
|
||||
[super viewWillAppear:animated];
|
||||
[self.navigationController setNavigationBarHidden:YES animated:animated];
|
||||
[self showNaviGationView:YES];
|
||||
[self.navigationView setTitle:@"模拟转账" titleColor:RGBCOLOR(60, 60, 60)];
|
||||
[self.navigationView setBackgroundColor:[UIColor whiteColor]];
|
||||
}
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
[self.view setBackgroundColor:[UIColor whiteColor]];
|
||||
|
||||
MoNiZhuanZhangView *view = [[MoNiZhuanZhangView alloc] init];
|
||||
[self.view addSubview:view];
|
||||
[view mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.right.bottom.equalTo(self.view);
|
||||
make.top.offset(NavHeight);
|
||||
}];
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@end
|
|
@ -0,0 +1,16 @@
|
|||
//
|
||||
// MoNiZhuanZhangView.h
|
||||
// ProductApp
|
||||
//
|
||||
// Created by 工作 on 2025/3/31.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface MoNiZhuanZhangView : UIView
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
|
@ -0,0 +1,110 @@
|
|||
//
|
||||
// MoNiZhuanZhangView.m
|
||||
// ProductApp
|
||||
//
|
||||
// Created by 工作 on 2025/3/31.
|
||||
//
|
||||
|
||||
#import "MoNiZhuanZhangView.h"
|
||||
|
||||
|
||||
@implementation MoNiZhuanZhangView
|
||||
|
||||
-(id)initWithFrame:(CGRect)frame
|
||||
{
|
||||
if(self = [super initWithFrame:frame])
|
||||
{
|
||||
UIView *viewwx = [[UIView alloc] init];
|
||||
[viewwx setBackgroundColor:[UIColor whiteColor]];
|
||||
[self addSubview:viewwx];
|
||||
[viewwx mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.offset(16);
|
||||
make.right.equalTo(self).offset(-16);
|
||||
make.top.offset(20);
|
||||
make.height.offset((UISCREEN_WIDTH-32)*146/343);
|
||||
}];
|
||||
[self drawItemView:viewwx title:@"微信模拟" itag:0];
|
||||
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
-(void)drawItemView:(UIView *)view title:(NSString *)title itag:(int)itag
|
||||
{
|
||||
[view.layer setMasksToBounds:YES];
|
||||
[view.layer setCornerRadius:10];
|
||||
|
||||
UIImageView *imgvback = [[UIImageView alloc] init];
|
||||
[imgvback setImage:[UIImage imageNamed:[NSString stringWithFormat:@"mnzz_%@",title]]];
|
||||
[view addSubview:imgvback];
|
||||
[imgvback mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.equalTo(view);
|
||||
}];
|
||||
|
||||
UILabel *lbname = [[UILabel alloc] init];
|
||||
[lbname setText:title];
|
||||
[lbname setTextColor:RGBCOLOR(1, 30, 18)];
|
||||
[lbname setTextAlignment:NSTextAlignmentLeft];
|
||||
[lbname setFont:[UIFont fontWithName:@"AlimamaShuHeiTi-Bold" size:26]];
|
||||
[view addSubview:lbname];
|
||||
[lbname mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.offset(20);
|
||||
make.top.offset(16);
|
||||
}];
|
||||
|
||||
UILabel *lbinfo = [[UILabel alloc] init];
|
||||
[lbinfo setText:@"仅供娱乐"];
|
||||
[lbinfo setTextColor:RGBCOLOR(128, 147, 140)];
|
||||
[lbinfo setTextAlignment:NSTextAlignmentLeft];
|
||||
[lbinfo setFont:[UIFont fontWithName:@"AlibabaPuHuiTi-Regular" size:16]];
|
||||
[view addSubview:lbinfo];
|
||||
[lbinfo mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.equalTo(lbname);
|
||||
make.top.equalTo(lbname.mas_bottom).offset(6);
|
||||
}];
|
||||
|
||||
UILabel *lbzr = [[UILabel alloc] init];
|
||||
[lbzr setText:@"转入"];
|
||||
[lbzr setTextColor:[UIColor whiteColor]];
|
||||
[lbzr setTextAlignment:NSTextAlignmentCenter];
|
||||
[lbzr setFont:[UIFont fontWithName:@"AlibabaPuHuiTi-Regular" size:16]];
|
||||
[lbzr setBackgroundColor:RGBCOLOR(1, 30, 18)];
|
||||
[lbzr.layer setMasksToBounds:YES];
|
||||
[lbzr.layer setCornerRadius:16];
|
||||
[view addSubview:lbzr];
|
||||
[lbzr mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.equalTo(lbname);
|
||||
make.size.sizeOffset(CGSizeMake(74, 32));
|
||||
make.bottom.equalTo(view).offset(-16);
|
||||
}];
|
||||
|
||||
UILabel *lbzc = [[UILabel alloc] init];
|
||||
[lbzc setText:@"转出"];
|
||||
[lbzc setTextColor:RGBCOLOR(1, 30, 18)];
|
||||
[lbzc setTextAlignment:NSTextAlignmentCenter];
|
||||
[lbzc setFont:[UIFont fontWithName:@"AlibabaPuHuiTi-Regular" size:16]];
|
||||
[lbzc setBackgroundColor:[UIColor whiteColor]];
|
||||
[lbzc.layer setMasksToBounds:YES];
|
||||
[lbzc.layer setCornerRadius:16];
|
||||
[view addSubview:lbzc];
|
||||
[lbzc mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.equalTo(lbzr.mas_right).offset(12);
|
||||
make.size.sizeOffset(CGSizeMake(74, 32));
|
||||
make.bottom.equalTo(view).offset(-16);
|
||||
}];
|
||||
UIButton *btitem = [[UIButton alloc] init];
|
||||
[view addSubview:btitem];
|
||||
[btitem mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.equalTo(view);
|
||||
}];
|
||||
[btitem setTag:itag];
|
||||
[btitem addTarget:self action:@selector(btAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
|
||||
}
|
||||
|
||||
-(void)btAction:(UIButton *)sender
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@end
|
|
@ -331,6 +331,7 @@
|
|||
}
|
||||
-(void)imageAction:(UIButton *)sender
|
||||
{
|
||||
[self endEditing:YES];
|
||||
if(sender.tag==1)
|
||||
{
|
||||
_tools.isedit = YES;
|
||||
|
@ -359,7 +360,7 @@
|
|||
}
|
||||
-(void)itemAction:(UIButton *)sender
|
||||
{
|
||||
|
||||
[self endEditing:YES];
|
||||
[PickerAlterView showPickers:@[@"3秒钟",@"10秒钟",@"30秒钟",@"1分钟",@"2分钟",@"3分钟",@"5分钟",@"10分钟",@"30分钟"] title:@"选择时间" backValue:^(NSString * _Nonnull strback) {
|
||||
self.fieldtime.text = strback;
|
||||
}];
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface MNHeiPeiView : UIView
|
||||
///0短信 1微信(这个参数最后设置)
|
||||
///0短信 1微信(这个参数最后设置) 2视频通话 3微信语音
|
||||
@property (nonatomic , assign) int type;
|
||||
@property (nonatomic , assign) int time;
|
||||
///
|
||||
|
@ -19,6 +19,11 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
@property (nonatomic , strong) NSString *strname;
|
||||
@property (nonatomic , strong) NSString *strnumber;
|
||||
@property (nonatomic , strong) NSString *strinfo;
|
||||
|
||||
///
|
||||
///
|
||||
@property (nonatomic , strong) NSURL *videourl;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
|
|
@ -9,7 +9,8 @@
|
|||
#import "BaseViewController.h"
|
||||
|
||||
#import "DuanXinShowView.h"
|
||||
|
||||
#import "ShiPinDianHuaShowView.h"
|
||||
#import "YuYinDianHuaShowView.h"
|
||||
|
||||
@interface MNHeiPeiView ()
|
||||
///
|
||||
|
@ -73,20 +74,60 @@
|
|||
[self.lbts setText:[NSString stringWithFormat:@"%d分钟后将会模拟微信,请不要锁频,也不要返回桌面",self.time/60]];
|
||||
}
|
||||
}
|
||||
else if (type==2||type==3)
|
||||
{
|
||||
[self.lbts setText:[NSString stringWithFormat:@"%d秒后将会模拟微信来电,请不要锁频,也不要返回桌面",self.time]];
|
||||
if(self.time>=60)
|
||||
{
|
||||
[self.lbts setText:[NSString stringWithFormat:@"%d分钟后将会模拟微信来电,请不要锁频,也不要返回桌面",self.time/60]];
|
||||
}
|
||||
}
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(self.time * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
DuanXinShowView *view = [DuanXinShowView new];
|
||||
[self addSubview:view];
|
||||
[view mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.equalTo(self);
|
||||
}];
|
||||
view.time = self.time;
|
||||
view.imageBack = self.imageBack;
|
||||
view.imageHead = self.imageHead;
|
||||
view.strname = self.strname;
|
||||
view.strnumber = self.strnumber;
|
||||
view.strinfo = self.strinfo;
|
||||
view.type = type;
|
||||
if(type==0||type==1)
|
||||
{
|
||||
DuanXinShowView *view = [DuanXinShowView new];
|
||||
[self addSubview:view];
|
||||
[view mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.equalTo(self);
|
||||
}];
|
||||
view.time = self.time;
|
||||
view.imageBack = self.imageBack;
|
||||
view.imageHead = self.imageHead;
|
||||
view.strname = self.strname;
|
||||
view.strnumber = self.strnumber;
|
||||
view.strinfo = self.strinfo;
|
||||
view.type = type;
|
||||
}
|
||||
else if (type==2)
|
||||
{
|
||||
ShiPinDianHuaShowView *view = [ShiPinDianHuaShowView new];
|
||||
[self addSubview:view];
|
||||
[view mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.equalTo(self);
|
||||
}];
|
||||
view.time = self.time;
|
||||
view.imageHead = self.imageHead;
|
||||
view.strname = self.strname;
|
||||
view.videourl = self.videourl;
|
||||
view.type = type;
|
||||
}
|
||||
else if (type==3)
|
||||
{
|
||||
YuYinDianHuaShowView *view = [YuYinDianHuaShowView new];
|
||||
[self addSubview:view];
|
||||
[view mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.equalTo(self);
|
||||
}];
|
||||
view.time = self.time;
|
||||
view.imageHead = self.imageHead;
|
||||
view.strname = self.strname;
|
||||
view.type = type;
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
-(void)tsAction
|
||||
{
|
||||
|
@ -100,6 +141,7 @@
|
|||
vc.statusbarRef = UIStatusBarStyleDefault;
|
||||
[vc refShowStateBar:YES];
|
||||
[self removeFromSuperview];
|
||||
[[UIApplication sharedApplication] setIdleTimerDisabled:NO];
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
//
|
||||
// ShiPinDianHuaViewController.h
|
||||
// ProductApp
|
||||
//
|
||||
// Created by 工作 on 2025/3/31.
|
||||
//
|
||||
|
||||
#import "BaseViewController.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface ShiPinDianHuaViewController : BaseViewController
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
|
@ -0,0 +1,50 @@
|
|||
//
|
||||
// ShiPinDianHuaViewController.m
|
||||
// ProductApp
|
||||
//
|
||||
// Created by 工作 on 2025/3/31.
|
||||
//
|
||||
|
||||
#import "ShiPinDianHuaViewController.h"
|
||||
#import "ShiPinDianHuaView.h"
|
||||
|
||||
|
||||
@interface ShiPinDianHuaViewController ()
|
||||
|
||||
@end
|
||||
|
||||
@implementation ShiPinDianHuaViewController
|
||||
|
||||
- (UIStatusBarStyle)preferredStatusBarStyle {
|
||||
if(!self.statebar)
|
||||
{
|
||||
if(self.statusbarRef)
|
||||
{
|
||||
return self.statusbarRef;
|
||||
}
|
||||
}
|
||||
return UIStatusBarStyleDefault;
|
||||
}
|
||||
- (void)viewWillAppear:(BOOL)animated {
|
||||
[super viewWillAppear:animated];
|
||||
[self.navigationController setNavigationBarHidden:YES animated:animated];
|
||||
[self showNaviGationView:YES];
|
||||
[self.navigationView setTitle:@"视频电话" titleColor:RGBCOLOR(60, 60, 60)];
|
||||
[self.navigationView setBackgroundColor:RGBCOLOR(242, 242, 242)];
|
||||
}
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
[self.view setBackgroundColor:RGBCOLOR(242, 242, 242)];
|
||||
|
||||
ShiPinDianHuaView *view = [[ShiPinDianHuaView alloc] init];
|
||||
[self.view addSubview:view];
|
||||
[view mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.right.bottom.equalTo(self.view);
|
||||
make.top.offset(NavHeight);
|
||||
}];
|
||||
|
||||
|
||||
}
|
||||
|
||||
@end
|
|
@ -0,0 +1,27 @@
|
|||
//
|
||||
// ShiPinDianHuaShowView.h
|
||||
// ProductApp
|
||||
//
|
||||
// Created by 工作 on 2025/3/31.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
typedef void(^ShiPinDianHuaShowViewBack)(void);
|
||||
@interface ShiPinDianHuaShowView : UIView
|
||||
///0短信 1微信
|
||||
@property (nonatomic , assign) int type;
|
||||
@property (nonatomic , assign) int time;
|
||||
@property (nonatomic , strong) UIImage *imageHead;
|
||||
@property (nonatomic , strong) NSString *strname;
|
||||
|
||||
///
|
||||
@property (nonatomic , strong) NSURL *videourl;
|
||||
|
||||
///
|
||||
//@property (nonatomic , strong) ShiPinDianHuaShowViewBack backGuaDuan;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
|
@ -0,0 +1,459 @@
|
|||
//
|
||||
// ShiPinDianHuaShowView.m
|
||||
// ProductApp
|
||||
//
|
||||
// Created by 工作 on 2025/3/31.
|
||||
//
|
||||
|
||||
#import "ShiPinDianHuaShowView.h"
|
||||
#import <AVFoundation/AVFoundation.h>
|
||||
#import <Photos/Photos.h>
|
||||
#import "BaseViewController.h"
|
||||
#import <AVKit/AVKit.h>
|
||||
#import "DuanXinShowMainHomeView.h"
|
||||
|
||||
@interface ShiPinDianHuaShowView ()<AVCapturePhotoCaptureDelegate>
|
||||
// ------------- 设备配置等 -------------
|
||||
//捕获设备,通常是前置摄像头,后置摄像头,麦克风(音频输入)
|
||||
@property(nonatomic)AVCaptureDevice *device;
|
||||
//AVCaptureDeviceInput 代表输入设备,使用AVCaptureDevice 来初始化
|
||||
@property(nonatomic)AVCaptureDeviceInput *input;
|
||||
//照片输出流
|
||||
@property (nonatomic)AVCapturePhotoOutput *imageOutPut;
|
||||
//session:由他把输入输出结合在一起,并开始启动捕获设备(摄像头)
|
||||
@property(nonatomic)AVCaptureSession *session;
|
||||
//图像预览层,实时显示捕获的图像
|
||||
@property(nonatomic)AVCaptureVideoPreviewLayer *previewLayer;
|
||||
|
||||
// ------------- UI --------------
|
||||
///
|
||||
@property (nonatomic , strong) UIView *viewmy;
|
||||
|
||||
|
||||
///未接通时的画面
|
||||
@property (nonatomic , strong) UIView *viewwjt;
|
||||
///
|
||||
@property (nonatomic , strong) UIImageView *imgvhd;
|
||||
///
|
||||
@property (nonatomic , strong) UILabel *lbname;
|
||||
|
||||
///已接听
|
||||
///
|
||||
@property (nonatomic , strong) UIView *viewjt;
|
||||
|
||||
///视频播放的页面
|
||||
@property (nonatomic , strong) UIView *viewplayer;
|
||||
///
|
||||
@property (nonatomic , retain) AVPlayerViewController *avc;
|
||||
@property (nonatomic , strong) AVPlayer *player;
|
||||
@property(nonatomic,retain)AVPlayerItem * playItem;
|
||||
|
||||
@end
|
||||
|
||||
@implementation ShiPinDianHuaShowView
|
||||
-(void)start
|
||||
{
|
||||
dispatch_async(dispatch_get_global_queue(0, 0), ^{
|
||||
[self.session startRunning];
|
||||
});
|
||||
}
|
||||
-(void)dis
|
||||
{
|
||||
dispatch_async(dispatch_get_global_queue(0, 0), ^{
|
||||
[self.session stopRunning];
|
||||
});
|
||||
[Tools stopTimer];
|
||||
if(self.player)
|
||||
{
|
||||
[self.player pause];
|
||||
self.player = nil;
|
||||
self.avc = nil;
|
||||
}
|
||||
|
||||
}
|
||||
-(id)initWithFrame:(CGRect)frame
|
||||
{
|
||||
if(self = [super initWithFrame:frame])
|
||||
{
|
||||
|
||||
UITapGestureRecognizer *gesture1 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tsAction)];
|
||||
[self addGestureRecognizer:gesture1];
|
||||
|
||||
UITapGestureRecognizer *gesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(shuanji)];
|
||||
gesture.numberOfTapsRequired = 2;
|
||||
[self addGestureRecognizer:gesture];
|
||||
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
BaseViewController *vc = (BaseViewController *)self.viewController;
|
||||
vc.statusbarRef = UIStatusBarStyleLightContent;
|
||||
[vc refShowStateBar:YES];
|
||||
});
|
||||
///播放声音
|
||||
|
||||
|
||||
UIView *viewmy = [[UIView alloc] initWithFrame:CGRectMake(0, 0, UISCREEN_WIDTH, UISCREEN_HEIGHT)];
|
||||
[viewmy setBackgroundColor:[UIColor blackColor]];
|
||||
[self addSubview:viewmy];
|
||||
_viewmy = viewmy;
|
||||
|
||||
UIButton *btsf = [[UIButton alloc] init];
|
||||
[btsf setImage:[UIImage imageNamed:@"spth_sf"] forState:UIControlStateNormal];
|
||||
[self addSubview:btsf];
|
||||
[btsf mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.offset(10);
|
||||
make.width.height.offset(40);
|
||||
make.top.offset(KMagrinTop);
|
||||
}];
|
||||
|
||||
[self customCamera];
|
||||
|
||||
[self drawWeiJieTing];
|
||||
|
||||
}
|
||||
return self;
|
||||
}
|
||||
-(void)setType:(int)type
|
||||
{
|
||||
self.imgvhd.image = self.imageHead;
|
||||
self.lbname.text = self.strname;
|
||||
}
|
||||
-(void)drawPlayerShow
|
||||
{
|
||||
self.avc = [[AVPlayerViewController alloc] init];
|
||||
[self.viewplayer addSubview:self.avc.view];
|
||||
[self.avc.view mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.equalTo(self.viewplayer);
|
||||
}];
|
||||
|
||||
NSURL *movieUrl = self.videourl;
|
||||
|
||||
//确定视频资源 一个视频用一个item
|
||||
self.playItem=[AVPlayerItem playerItemWithURL:movieUrl];
|
||||
//确定视频视频框架
|
||||
self.player = [AVPlayer playerWithPlayerItem: self.playItem];
|
||||
|
||||
self.avc.player=self.player;
|
||||
|
||||
//隐藏系统自带的进度条播放界面
|
||||
self.avc.showsPlaybackControls = NO;
|
||||
|
||||
self.player.externalPlaybackVideoGravity=AVLayerVideoGravityResizeAspectFill;
|
||||
|
||||
//获取视频信息,要用item添加kvo,编程的时候最好使用item 的status,会准确点。
|
||||
[ self.playItem addObserver:self forKeyPath:@"status" options:NSKeyValueObservingOptionNew context:nil];
|
||||
}
|
||||
///监听播放状态
|
||||
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSString *,id> *)change context:(void *)context{
|
||||
if ([keyPath isEqualToString:@"status"]) {
|
||||
switch (self.playItem.status) {
|
||||
case AVPlayerItemStatusReadyToPlay:
|
||||
{
|
||||
[self.avc.player play];
|
||||
NSLog(@"开始播放");
|
||||
}
|
||||
break;
|
||||
case AVPlayerItemStatusFailed:
|
||||
NSLog(@"出错了");
|
||||
break;
|
||||
default:
|
||||
NSLog(@"不知道什么问题?");
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
///已接听
|
||||
-(void)drawJieTing
|
||||
{
|
||||
UIView *viewjt = [[UIView alloc] init];
|
||||
[viewjt setBackgroundColor:[UIColor clearColor]];
|
||||
[self addSubview:viewjt];
|
||||
[viewjt mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.equalTo(self);
|
||||
}];
|
||||
_viewjt = viewjt;
|
||||
|
||||
UILabel *lbtime = [[UILabel alloc] init];
|
||||
[lbtime setText:@"00:00"];
|
||||
[lbtime setTextColor:[UIColor whiteColor]];
|
||||
[lbtime setTextAlignment:NSTextAlignmentCenter];
|
||||
[lbtime setFont:[UIFont fontWithName:@"PingFangSC-Medium" size:18]];
|
||||
[self addSubview:lbtime];
|
||||
[lbtime mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.offset(KMagrinTop);
|
||||
make.height.offset(40);
|
||||
make.centerX.equalTo(self);
|
||||
}];
|
||||
[Tools startTimerWithStartTime:1000 isCountDown:YES result:^(NSInteger tag) {
|
||||
NSInteger temp = 1000-tag;
|
||||
lbtime.text = [self getSecTime:temp];
|
||||
}];
|
||||
|
||||
float fjjj = (UISCREEN_WIDTH-80-64*3)/2.0;
|
||||
NSArray *arr = @[@"模糊背景",@"挂断",@"翻转"];
|
||||
for(int i = 0 ; i < arr.count; i++)
|
||||
{
|
||||
UIButton *btitem = [[UIButton alloc] init];
|
||||
[btitem setImage:[UIImage imageNamed:[NSString stringWithFormat:@"spth_%@",arr[i]]] forState:UIControlStateNormal];
|
||||
[viewjt addSubview:btitem];
|
||||
[btitem mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.offset(40+(64+fjjj)*i);
|
||||
make.width.offset(64);
|
||||
make.height.offset(64);
|
||||
make.bottom.equalTo(viewjt).offset(-TabHeight);
|
||||
}];
|
||||
if(i==1)
|
||||
{
|
||||
[btitem setTag:0];
|
||||
}
|
||||
else
|
||||
{
|
||||
[btitem setTag:i+4];
|
||||
}
|
||||
[btitem addTarget:self action:@selector(funcAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
|
||||
arr = @[@"麦克风已开",@"扬声器已开",@"摄像头已开"];
|
||||
|
||||
for(int i = 0 ; i < arr.count; i++)
|
||||
{
|
||||
UIButton *btitem = [[UIButton alloc] init];
|
||||
[btitem setImage:[UIImage imageNamed:[NSString stringWithFormat:@"spth_%@",arr[i]]] forState:UIControlStateNormal];
|
||||
[btitem setTitle:arr[i] forState:UIControlStateNormal];
|
||||
[btitem setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
|
||||
[btitem.titleLabel setFont:[UIFont fontWithName:@"PingFangSC-Regular" size:12]];
|
||||
[viewjt addSubview:btitem];
|
||||
[btitem mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.offset(40+(64+fjjj)*i);
|
||||
make.width.offset(64);
|
||||
make.height.offset(100);
|
||||
make.bottom.equalTo(viewjt).offset(-TabHeight-84);
|
||||
}];
|
||||
[btitem setIconInTopWithSpacing:8];
|
||||
[btitem setTag:i+4];
|
||||
[btitem addTarget:self action:@selector(funcAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
|
||||
UIView *viewplayer = [[UIView alloc] initWithFrame:CGRectMake(0, 0, UISCREEN_WIDTH, UISCREEN_HEIGHT)];
|
||||
[viewplayer setBackgroundColor:[UIColor whiteColor]];
|
||||
[self addSubview:viewplayer];
|
||||
_viewplayer = viewplayer;
|
||||
[self sendSubviewToBack:viewplayer];
|
||||
|
||||
[self.viewwjt removeFromSuperview];
|
||||
|
||||
[self.viewmy setFrame:CGRectMake(UISCREEN_WIDTH-108, NavHeight, 100, 100*UISCREEN_HEIGHT/UISCREEN_WIDTH)];
|
||||
[self.viewmy.layer setMasksToBounds:YES];
|
||||
[self.viewmy.layer setCornerRadius:8];
|
||||
self.previewLayer.frame = CGRectMake(0, 0, self.viewmy.width,self.viewmy.height);
|
||||
|
||||
[self drawPlayerShow];
|
||||
}
|
||||
|
||||
///未接听
|
||||
-(void)drawWeiJieTing
|
||||
{
|
||||
UIView *viewwjt = [[UIView alloc] init];
|
||||
[viewwjt setBackgroundColor:[UIColor clearColor]];
|
||||
[self addSubview:viewwjt];
|
||||
[viewwjt mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.equalTo(self);
|
||||
}];
|
||||
_viewwjt = viewwjt;
|
||||
|
||||
UIImageView *imgvhd = [[UIImageView alloc] init];
|
||||
[viewwjt addSubview:imgvhd];
|
||||
[imgvhd mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.height.offset(68);
|
||||
make.centerX.equalTo(viewwjt);
|
||||
make.top.offset(NavHeight+42);
|
||||
}];
|
||||
[imgvhd.layer setMasksToBounds:YES];
|
||||
[imgvhd.layer setCornerRadius:6];
|
||||
_imgvhd = imgvhd;
|
||||
|
||||
UILabel *lbname = [[UILabel alloc] init];
|
||||
[lbname setTextColor:[UIColor whiteColor]];
|
||||
[lbname setTextAlignment:NSTextAlignmentCenter];
|
||||
[lbname setFont:[UIFont fontWithName:@"PingFangSC-Regular" size:20]];
|
||||
[viewwjt addSubview:lbname];
|
||||
[lbname mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.equalTo(imgvhd.mas_bottom).offset(12);
|
||||
make.centerX.equalTo(viewwjt);
|
||||
make.width.lessThanOrEqualTo(@(200));
|
||||
}];
|
||||
_lbname = lbname;
|
||||
|
||||
UIButton *btgd = [[UIButton alloc] init];
|
||||
[btgd setImage:[UIImage imageNamed:@"spth_挂断"] forState:UIControlStateNormal];
|
||||
[viewwjt addSubview:btgd];
|
||||
[btgd mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.offset(24);
|
||||
make.width.height.offset(64);
|
||||
make.bottom.equalTo(viewwjt).offset(-TabHeight);
|
||||
}];
|
||||
[btgd setTag:0];
|
||||
[btgd addTarget:self action:@selector(funcAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
|
||||
UIButton *btjt = [[UIButton alloc] init];
|
||||
[btjt setImage:[UIImage imageNamed:@"spth_接听"] forState:UIControlStateNormal];
|
||||
[viewwjt addSubview:btjt];
|
||||
[btjt mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.right.equalTo(viewwjt).offset(-24);
|
||||
make.width.height.bottom.equalTo(btgd);
|
||||
}];
|
||||
[btjt setTag:1];
|
||||
[btjt addTarget:self action:@selector(funcAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
|
||||
float fjjj = (UISCREEN_WIDTH-48-64*4)/3.0;
|
||||
NSArray *arr = @[@"麦克风已开",@"摄像头已开",@"模糊背景",@"翻转"];
|
||||
for(int i = 0 ; i < arr.count; i++)
|
||||
{
|
||||
UIButton *btitem = [[UIButton alloc] init];
|
||||
[btitem setTitle:arr[i] forState:UIControlStateNormal];
|
||||
[btitem setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
|
||||
[btitem.titleLabel setFont:[UIFont fontWithName:@"PingFangSC-Regular" size:12]];
|
||||
[btitem setImage:[UIImage imageNamed:[NSString stringWithFormat:@"spth_%@",arr[i]]] forState:UIControlStateNormal];
|
||||
[viewwjt addSubview:btitem];
|
||||
[btitem mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.offset(24+(64+fjjj)*i);
|
||||
make.width.offset(64);
|
||||
make.height.offset(100);
|
||||
make.bottom.equalTo(btgd.mas_top).offset(-20);
|
||||
}];
|
||||
[btitem setIconInTopWithSpacing:8];
|
||||
|
||||
[btitem setTag:i+2];
|
||||
[btitem addTarget:self action:@selector(funcAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
-(void)funcAction:(UIButton *)sender
|
||||
{
|
||||
switch (sender.tag) {
|
||||
case 0:
|
||||
{///挂断
|
||||
[self dis];
|
||||
// if(self.backGuaDuan)
|
||||
// {
|
||||
// self.backGuaDuan();
|
||||
// }
|
||||
///播放声音
|
||||
|
||||
DuanXinShowMainHomeView *view = [[DuanXinShowMainHomeView alloc] initWithFrame:CGRectMake(0, 0, UISCREEN_WIDTH, UISCREEN_HEIGHT)];
|
||||
[self.superview addSubview:view];
|
||||
[self removeFromSuperview];
|
||||
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
{///接听
|
||||
[self drawJieTing];
|
||||
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - 初始化相机设备
|
||||
-(void)customCamera
|
||||
{
|
||||
// 1.1 初始化session会话,用来结合输入输出
|
||||
self.session = [[AVCaptureSession alloc] init];
|
||||
if ([self.session canSetSessionPreset:AVCaptureSessionPreset1280x720]) {
|
||||
[self.session setSessionPreset:AVCaptureSessionPreset1280x720]; //拿到的图像的大小可以自行设定
|
||||
}
|
||||
|
||||
// 1.2 获取视频输入设备(摄像头)
|
||||
// self.device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
|
||||
self.device = [AVCaptureDevice defaultDeviceWithDeviceType:AVCaptureDeviceTypeBuiltInWideAngleCamera mediaType:AVMediaTypeVideo position:AVCaptureDevicePositionFront];
|
||||
|
||||
// 1.3 创建视频输入源 并添加到会话
|
||||
self.input = [[AVCaptureDeviceInput alloc]initWithDevice:self.device error:nil];
|
||||
if ([self.session canAddInput:self.input]) {
|
||||
[self.session addInput:self.input];
|
||||
}
|
||||
|
||||
// 1.4 创建视频输出源 并添加到会话
|
||||
self.imageOutPut = [[AVCapturePhotoOutput alloc]init];
|
||||
if ([self.session canAddOutput:self.imageOutPut]) {
|
||||
[self.session addOutput:self.imageOutPut];
|
||||
}
|
||||
AVCaptureConnection *imageConnection = [self.imageOutPut connectionWithMediaType:AVMediaTypeVideo];
|
||||
// 设置 imageConnection 控制相机拍摄图片的角度方向
|
||||
if (imageConnection.supportsVideoOrientation) {
|
||||
imageConnection.videoOrientation = AVCaptureVideoOrientationPortrait;
|
||||
}
|
||||
|
||||
|
||||
double width = 0.0;
|
||||
double height = 0.0;
|
||||
CGSize screenSize = CGSizeMake(UISCREEN_WIDTH, UISCREEN_HEIGHT);
|
||||
width = screenSize.width;
|
||||
height = screenSize.height;
|
||||
|
||||
// 2.1 使用self.session初始化预览层,self.session负责驱动input进行信息的采集,layer负责把图像渲染显示
|
||||
self.previewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:self.session];
|
||||
self.previewLayer.frame = CGRectMake(0, 0, width,height);
|
||||
self.previewLayer.connection.videoOrientation = AVCaptureVideoOrientationPortrait; // 图层展示拍摄角度方向
|
||||
self.previewLayer.videoGravity = AVLayerVideoGravityResize;
|
||||
[self.viewmy.layer addSublayer:self.previewLayer];
|
||||
|
||||
// 3.1 属性配置
|
||||
if ([self.device lockForConfiguration:nil]) { // 修改设备的属性,先加锁
|
||||
//闪光灯自动
|
||||
if ([[self.imageOutPut supportedFlashModes] containsObject:@(AVCaptureFlashModeAuto)]) {
|
||||
self.imageOutPut.photoSettingsForSceneMonitoring.flashMode = AVCaptureFlashModeAuto;
|
||||
}
|
||||
//自动白平衡
|
||||
if ([self.device isWhiteBalanceModeSupported:AVCaptureWhiteBalanceModeAutoWhiteBalance]) {
|
||||
[self.device setWhiteBalanceMode:AVCaptureWhiteBalanceModeAutoWhiteBalance];
|
||||
}
|
||||
//解锁
|
||||
[self.device unlockForConfiguration];
|
||||
}
|
||||
|
||||
// 4.1开始采集画面
|
||||
dispatch_async(dispatch_get_global_queue(0, 0), ^{
|
||||
[self.session startRunning];
|
||||
});
|
||||
|
||||
// [self drawUI];
|
||||
}
|
||||
-(void)tsAction
|
||||
{
|
||||
|
||||
}
|
||||
-(void)shuanji
|
||||
{
|
||||
|
||||
}
|
||||
-(NSString *)getSecTime:(NSInteger)itemp
|
||||
{
|
||||
NSString *strback = @"00:00";
|
||||
if(itemp>0)
|
||||
{
|
||||
NSInteger ifen = itemp/60;
|
||||
NSInteger imiao = itemp%60;
|
||||
strback = [NSString stringWithFormat:@"%ld",ifen];
|
||||
if(ifen<10)
|
||||
{
|
||||
strback = [NSString stringWithFormat:@"0%ld",ifen];
|
||||
}
|
||||
if(imiao<10)
|
||||
{
|
||||
strback = [NSString stringWithFormat:@"%@:0%ld",strback,imiao];
|
||||
}
|
||||
else
|
||||
{
|
||||
strback = [NSString stringWithFormat:@"%@:%ld",strback,imiao];
|
||||
}
|
||||
}
|
||||
return strback;
|
||||
}
|
||||
|
||||
@end
|
|
@ -0,0 +1,16 @@
|
|||
//
|
||||
// ShiPinDianHuaView.h
|
||||
// ProductApp
|
||||
//
|
||||
// Created by 工作 on 2025/3/31.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface ShiPinDianHuaView : UIView
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
|
@ -0,0 +1,351 @@
|
|||
//
|
||||
// ShiPinDianHuaView.m
|
||||
// ProductApp
|
||||
//
|
||||
// Created by 工作 on 2025/3/31.
|
||||
//
|
||||
|
||||
#import "ShiPinDianHuaView.h"
|
||||
#import "WYCamaImageTools.h"
|
||||
#import "PickerAlterView.h"
|
||||
#import "AlterSheetView.h"
|
||||
#import "UIImageView+VideoImageView.h"
|
||||
|
||||
#import "BaseViewController.h"
|
||||
#import "MNHeiPeiView.h"
|
||||
|
||||
#import <AVFoundation/AVFoundation.h>
|
||||
#import <Photos/Photos.h>
|
||||
|
||||
@interface ShiPinDianHuaView ()<WYCamaImageToolsDelegate>
|
||||
@property (nonatomic , strong) NSMutableArray *arrViews;
|
||||
///
|
||||
@property (nonatomic , strong) NSMutableArray *arrField;
|
||||
|
||||
///
|
||||
@property (nonatomic , strong) UIImageView *imgvhd;
|
||||
@property (nonatomic , strong) UIImageView *imgvsp;
|
||||
|
||||
|
||||
///
|
||||
@property (nonatomic , strong) UIImageView *imgvSelect;
|
||||
|
||||
@property (nonatomic, strong) WYCamaImageTools *tools;
|
||||
|
||||
///
|
||||
@property (nonatomic , strong) NSURL *videourl;
|
||||
|
||||
@end
|
||||
|
||||
@implementation ShiPinDianHuaView
|
||||
|
||||
-(id)initWithFrame:(CGRect)frame
|
||||
{
|
||||
if(self = [super initWithFrame:frame])
|
||||
{
|
||||
self.arrViews = [NSMutableArray new];
|
||||
self.arrField = [NSMutableArray new];
|
||||
NSArray *arrtt = @[@"来电昵称",@"来电头像",@"来电视频",@"延迟视频"];
|
||||
NSArray *arrpl = @[@"请输入昵称",@"请上传",@"请上传",@"请选择"];
|
||||
UIView *viewlast = nil;
|
||||
for(int i = 0 ; i < arrtt.count; i++)
|
||||
{
|
||||
UIView *viewitem = [[UIView alloc] init];
|
||||
[viewitem setBackgroundColor:[UIColor whiteColor]];
|
||||
[self addSubview:viewitem];
|
||||
[viewitem mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.right.equalTo(self);
|
||||
if(i==0)
|
||||
{
|
||||
make.top.offset(0);
|
||||
}
|
||||
else
|
||||
{
|
||||
make.top.equalTo(viewlast.mas_bottom);
|
||||
}
|
||||
make.height.offset(53);
|
||||
}];
|
||||
viewlast = viewitem;
|
||||
[self.arrViews addObject:viewitem];
|
||||
|
||||
BOOL isselect = YES;
|
||||
if(i==0)isselect=NO;
|
||||
UITextField *field = [self drawItemView:viewitem andtitle:arrtt[i] isselect:isselect platch:arrpl[i] tag:i];
|
||||
[self.arrField addObject:field];
|
||||
|
||||
if(i==1)
|
||||
{
|
||||
UIImageView *imgvhd = [[UIImageView alloc] init];
|
||||
[imgvhd setImage:[UIImage imageNamed:@"my_nomohead"]];
|
||||
[viewitem addSubview:imgvhd];
|
||||
[imgvhd mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.right.equalTo(viewitem).offset(-33);
|
||||
make.centerY.equalTo(viewitem);
|
||||
make.width.height.offset(58);
|
||||
}];
|
||||
[imgvhd.layer setMasksToBounds:YES];
|
||||
[imgvhd.layer setCornerRadius:6];
|
||||
_imgvhd = imgvhd;
|
||||
[viewitem mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||
make.height.offset(86);
|
||||
}];
|
||||
}
|
||||
else if (i==3)
|
||||
{
|
||||
field.text = @"3秒钟";
|
||||
}
|
||||
}
|
||||
|
||||
UIView *viewbottom = [[UIView alloc] init];
|
||||
[viewbottom setBackgroundColor:[UIColor whiteColor]];
|
||||
[self addSubview:viewbottom];
|
||||
[viewbottom mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.right.bottom.equalTo(self);
|
||||
make.height.offset(TabHeight+20);
|
||||
}];
|
||||
|
||||
UIButton *btok = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, UISCREEN_WIDTH-32, 46)];
|
||||
[btok setTitle:@"确定" forState:UIControlStateNormal];
|
||||
[btok setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
|
||||
[btok.titleLabel setFont:[UIFont systemFontOfSize:15]];
|
||||
[btok.layer setMasksToBounds:YES];
|
||||
[btok.layer setCornerRadius:23];
|
||||
[viewbottom addSubview:btok];
|
||||
[btok mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.offset(16);
|
||||
make.top.offset(9);
|
||||
make.right.equalTo(viewbottom).offset(-16);
|
||||
make.height.offset(46);
|
||||
}];
|
||||
[btok addTarget:self action:@selector(okAction) forControlEvents:UIControlEventTouchUpInside];
|
||||
[Tools changedView:btok colors:@[(id)RGBCOLOR(119, 140, 245).CGColor,(id)RGBCOLOR(166, 121, 244).CGColor] startPoint:CGPointMake(0, 0) endPoint:CGPointMake(1, 0)];
|
||||
|
||||
}
|
||||
return self;
|
||||
}
|
||||
-(UITextField *)drawItemView:(UIView *)view andtitle:(NSString *)title isselect:(BOOL)isselect platch:(NSString *)platch tag:(int)tag
|
||||
{
|
||||
float f_w = [Tools getWidthWithText:title height:20 font:15]+5;
|
||||
UILabel *lbname = [[UILabel alloc] init];
|
||||
[lbname setText:title];
|
||||
[lbname setTextColor:RGBCOLOR(102, 102, 102)];
|
||||
[lbname setTextAlignment:NSTextAlignmentLeft];
|
||||
[lbname setFont:[UIFont systemFontOfSize:15]];
|
||||
[view addSubview:lbname];
|
||||
[lbname mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.offset(15);
|
||||
make.centerY.equalTo(view);
|
||||
make.width.offset(f_w);
|
||||
}];
|
||||
|
||||
UITextField *field = [[UITextField alloc] init];
|
||||
[field setTextColor:RGBCOLOR(102, 102, 102)];
|
||||
[field setTextAlignment:NSTextAlignmentRight];
|
||||
[field setFont:[UIFont systemFontOfSize:15]];
|
||||
[view addSubview:field];
|
||||
[field mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.equalTo(lbname.mas_right);
|
||||
make.top.bottom.equalTo(view);
|
||||
make.right.equalTo(view).offset(-15);
|
||||
}];
|
||||
[field setPlaceholder:platch];
|
||||
if(isselect)
|
||||
{
|
||||
[field mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||
make.right.equalTo(view).offset(-33);
|
||||
}];
|
||||
|
||||
UIImageView *imgvnext = [[UIImageView alloc] init];
|
||||
[imgvnext setImage:[UIImage imageNamed:@"my_next"]];
|
||||
[view addSubview:imgvnext];
|
||||
[imgvnext mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.right.equalTo(view).offset(-9);
|
||||
make.centerY.equalTo(view);
|
||||
make.width.height.offset(20);
|
||||
}];
|
||||
|
||||
UIButton *btitem = [[UIButton alloc] init];
|
||||
[view addSubview:btitem];
|
||||
[btitem mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.top.bottom.equalTo(field);
|
||||
make.right.equalTo(view);
|
||||
}];
|
||||
[btitem setTag:tag];
|
||||
[btitem addTarget:self action:@selector(itemAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
|
||||
}
|
||||
UIView *viewline = [[UIView alloc] init];
|
||||
[viewline setBackgroundColor:RGBCOLOR(238, 238, 238)];
|
||||
[view addSubview:viewline];
|
||||
[viewline mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.offset(16);
|
||||
make.bottom.equalTo(view);
|
||||
make.right.equalTo(view).offset(-16);
|
||||
make.height.offset(1);
|
||||
}];
|
||||
|
||||
return field;
|
||||
}
|
||||
|
||||
-(void)itemAction:(UIButton *)sender
|
||||
{
|
||||
[self endEditing:YES];
|
||||
if(sender.tag==1)
|
||||
{
|
||||
self.tools.isvideo = NO;
|
||||
self.tools.isedit = YES;
|
||||
[AlterSheetView showAlterSheetTitle:@"" bts:@[@"随机获取",@"拍照",@"相册中选择"] buttomTitle:@"取消" otherBtsColor:RGBCOLOR(92, 117, 248) otherColorTitles:@[@"随机获取"] backValue:^(NSInteger tag) {
|
||||
NSLog(@"%ld",tag);
|
||||
if(tag==1)
|
||||
{
|
||||
|
||||
}
|
||||
else if(tag==2)
|
||||
{
|
||||
[self.tools choosePicWithViewController:self.viewController chooseType:ChooseTypeTakePic];
|
||||
}
|
||||
else if(tag==3)
|
||||
{
|
||||
[self.tools choosePicWithViewController:self.viewController chooseType:ChooseTypeAlbum];
|
||||
}
|
||||
}];
|
||||
}
|
||||
else if (sender.tag==2)
|
||||
{
|
||||
self.tools.isvideo = YES;
|
||||
self.tools.isedit = NO;
|
||||
[AlterSheetView showAlterSheetTitle:@"" bts:@[@"拍照",@"相册中选择"] buttomTitle:@"取消" otherBtsColor:RGBCOLOR(92, 117, 248) otherColorTitles:@[@"随机获取"] backValue:^(NSInteger tag) {
|
||||
NSLog(@"%ld",tag);
|
||||
if(tag==1)
|
||||
{
|
||||
[self.tools choosePicWithViewController:self.viewController chooseType:ChooseTypeTakePic];
|
||||
}
|
||||
else if(tag==2)
|
||||
{
|
||||
[self.tools choosePicWithViewController:self.viewController chooseType:ChooseTypeAlbum];
|
||||
}
|
||||
|
||||
}];
|
||||
}
|
||||
else if (sender.tag==3)
|
||||
{
|
||||
[PickerAlterView showPickers:@[@"3秒钟",@"10秒钟",@"30秒钟",@"1分钟",@"2分钟",@"3分钟",@"5分钟",@"10分钟",@"30分钟"] title:@"选择时间" backValue:^(NSString * _Nonnull strback) {
|
||||
UITextField *field = self.arrField[3];
|
||||
field.text = strback;
|
||||
}];
|
||||
}
|
||||
}
|
||||
|
||||
-(void)okAction
|
||||
{
|
||||
if([self checkCameraPermission]==NO)
|
||||
{
|
||||
[HXHud showMessage:@"请打开相机权限" afterDelayType:0];
|
||||
return;
|
||||
}
|
||||
|
||||
UITextField *fieldname = self.arrField[0];
|
||||
// if(fieldname.text.length==0)
|
||||
// {
|
||||
// [HXHud showMessage:@"请输入来电昵称" afterDelayType:0];
|
||||
// return;
|
||||
// }
|
||||
// if(self.videourl==nil)
|
||||
// {
|
||||
// [HXHud showMessage:@"请选择来电视频" afterDelayType:0];
|
||||
// return;
|
||||
// }
|
||||
UITextField *fieldtime = self.arrField[3];
|
||||
NSString *strtime = fieldtime.text;
|
||||
if([strtime containsString:@"秒钟"])
|
||||
{
|
||||
strtime=[strtime stringByReplacingOccurrencesOfString:@"秒钟" withString:@""];
|
||||
}
|
||||
else
|
||||
{
|
||||
strtime=[strtime stringByReplacingOccurrencesOfString:@"分钟" withString:@""];
|
||||
strtime = [NSString stringWithFormat:@"%d",strtime.intValue*60];
|
||||
}
|
||||
|
||||
[[UIApplication sharedApplication] setIdleTimerDisabled:YES];
|
||||
BaseViewController *vc = (BaseViewController *)self.viewController;
|
||||
[vc refShowStateBar:NO];
|
||||
MNHeiPeiView *viewhp = [[MNHeiPeiView alloc] initWithFrame:CGRectMake(0, 0, UISCREEN_WIDTH, UISCREEN_HEIGHT)];
|
||||
[self.viewController.view addSubview:viewhp];
|
||||
viewhp.time = strtime.intValue;
|
||||
viewhp.imageHead = self.imgvhd.image;
|
||||
viewhp.strname = fieldname.text;
|
||||
viewhp.videourl = self.videourl;
|
||||
viewhp.type = 2;
|
||||
}
|
||||
|
||||
#pragma mark - 相机
|
||||
#pragma mark - 相机权限
|
||||
- (BOOL)checkCameraPermission
|
||||
{
|
||||
AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
|
||||
if (authStatus == AVAuthorizationStatusDenied || authStatus == AVAuthorizationStatusRestricted) {
|
||||
UIAlertController *alertVC = [UIAlertController alertControllerWithTitle:@"请打开相机权限" message:@"设置-隐私-相机" preferredStyle:UIAlertControllerStyleAlert];
|
||||
UIAlertAction *done = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
|
||||
NSURL * url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
|
||||
if([[UIApplication sharedApplication] canOpenURL:url]) {
|
||||
[[UIApplication sharedApplication] openURL:url options:@{UIApplicationOpenSettingsURLString:@YES} completionHandler:nil];
|
||||
}
|
||||
}];
|
||||
UIAlertAction *cancel = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
|
||||
|
||||
}];
|
||||
[alertVC addAction:done];
|
||||
[alertVC addAction:cancel];
|
||||
[self.viewController presentViewController:alertVC animated:NO completion:^{
|
||||
}];
|
||||
return NO;
|
||||
} else if (authStatus == AVAuthorizationStatusNotDetermined) {
|
||||
[AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo completionHandler:^(BOOL granted) {
|
||||
dispatch_sync(dispatch_get_main_queue(), ^{
|
||||
|
||||
});
|
||||
}];
|
||||
return NO;
|
||||
}
|
||||
else {
|
||||
return YES;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - WYCamaImageToolsDelegate
|
||||
-(void)didEndChoosePic:(UIImage *)image
|
||||
{
|
||||
self.imgvhd.image = image;
|
||||
}
|
||||
- (void)didEndChooseVideo:(NSURL *)videourl
|
||||
{
|
||||
if(!self.imgvsp)
|
||||
{
|
||||
UIView *viewitem = self.arrViews[2];
|
||||
UIImageView *imgvsp = [[UIImageView alloc] init];
|
||||
[viewitem addSubview:imgvsp];
|
||||
[imgvsp mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.right.equalTo(viewitem).offset(-33);
|
||||
make.centerY.equalTo(viewitem);
|
||||
make.width.height.offset(58);
|
||||
}];
|
||||
[imgvsp.layer setMasksToBounds:YES];
|
||||
[imgvsp.layer setCornerRadius:6];
|
||||
_imgvsp = imgvsp;
|
||||
[viewitem mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||
make.height.offset(86);
|
||||
}];
|
||||
}
|
||||
[self.imgvsp videoImageWithvideoURL:videourl atTime:0.1];
|
||||
self.videourl = videourl;
|
||||
}
|
||||
- (WYCamaImageTools *)tools {
|
||||
if (!_tools) {
|
||||
_tools = [[WYCamaImageTools alloc] init];
|
||||
_tools.delegate = self;
|
||||
|
||||
}return _tools;
|
||||
}
|
||||
|
||||
@end
|
|
@ -0,0 +1,16 @@
|
|||
//
|
||||
// YuYinDianHuaViewController.h
|
||||
// ProductApp
|
||||
//
|
||||
// Created by 工作 on 2025/3/31.
|
||||
//
|
||||
|
||||
#import "BaseViewController.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface YuYinDianHuaViewController : BaseViewController
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
|
@ -0,0 +1,50 @@
|
|||
//
|
||||
// YuYinDianHuaViewController.m
|
||||
// ProductApp
|
||||
//
|
||||
// Created by 工作 on 2025/3/31.
|
||||
//
|
||||
|
||||
#import "YuYinDianHuaViewController.h"
|
||||
#import "YuYinDianHuaView.h"
|
||||
|
||||
|
||||
@interface YuYinDianHuaViewController ()
|
||||
|
||||
@end
|
||||
|
||||
@implementation YuYinDianHuaViewController
|
||||
|
||||
- (UIStatusBarStyle)preferredStatusBarStyle {
|
||||
if(!self.statebar)
|
||||
{
|
||||
if(self.statusbarRef)
|
||||
{
|
||||
return self.statusbarRef;
|
||||
}
|
||||
}
|
||||
return UIStatusBarStyleDefault;
|
||||
}
|
||||
- (void)viewWillAppear:(BOOL)animated {
|
||||
[super viewWillAppear:animated];
|
||||
[self.navigationController setNavigationBarHidden:YES animated:animated];
|
||||
[self showNaviGationView:YES];
|
||||
[self.navigationView setTitle:@"语音电话" titleColor:RGBCOLOR(60, 60, 60)];
|
||||
[self.navigationView setBackgroundColor:RGBCOLOR(242, 242, 242)];
|
||||
}
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
[self.view setBackgroundColor:RGBCOLOR(242, 242, 242)];
|
||||
|
||||
YuYinDianHuaView *view = [[YuYinDianHuaView alloc] init];
|
||||
[self.view addSubview:view];
|
||||
[view mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.right.bottom.equalTo(self.view);
|
||||
make.top.offset(NavHeight);
|
||||
}];
|
||||
|
||||
|
||||
}
|
||||
|
||||
@end
|
|
@ -0,0 +1,20 @@
|
|||
//
|
||||
// YuYinDianHuaShowView.h
|
||||
// ProductApp
|
||||
//
|
||||
// Created by 工作 on 2025/3/31.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface YuYinDianHuaShowView : UIView
|
||||
///0短信 1微信
|
||||
@property (nonatomic , assign) int type;
|
||||
@property (nonatomic , assign) int time;
|
||||
@property (nonatomic , strong) UIImage *imageHead;
|
||||
@property (nonatomic , strong) NSString *strname;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
|
@ -0,0 +1,261 @@
|
|||
//
|
||||
// YuYinDianHuaShowView.m
|
||||
// ProductApp
|
||||
//
|
||||
// Created by 工作 on 2025/3/31.
|
||||
//
|
||||
|
||||
#import "YuYinDianHuaShowView.h"
|
||||
#import "BaseViewController.h"
|
||||
#import "DuanXinShowMainHomeView.h"
|
||||
|
||||
|
||||
@interface YuYinDianHuaShowView ()
|
||||
///
|
||||
@property (nonatomic , strong) UIImageView *imgvback;
|
||||
///
|
||||
@property (nonatomic , strong) UIImageView *imgvhd;
|
||||
///
|
||||
@property (nonatomic , strong) UILabel *lbname;
|
||||
|
||||
///未接通时的画面
|
||||
@property (nonatomic , strong) UIView *viewwjt;
|
||||
///已接听
|
||||
@property (nonatomic , strong) UIView *viewjt;
|
||||
|
||||
|
||||
@end
|
||||
|
||||
@implementation YuYinDianHuaShowView
|
||||
|
||||
-(id)initWithFrame:(CGRect)frame
|
||||
{
|
||||
if(self = [super initWithFrame:frame])
|
||||
{
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
BaseViewController *vc = (BaseViewController *)self.viewController;
|
||||
vc.statusbarRef = UIStatusBarStyleLightContent;
|
||||
[vc refShowStateBar:YES];
|
||||
});
|
||||
///播放声音
|
||||
|
||||
|
||||
|
||||
UIImageView *imgvback = [[UIImageView alloc] init];
|
||||
[imgvback setContentMode:UIViewContentModeScaleAspectFill];
|
||||
[self addSubview:imgvback];
|
||||
[imgvback mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.equalTo(self);
|
||||
}];
|
||||
_imgvback = imgvback;
|
||||
|
||||
UIImageView *imgvhd = [[UIImageView alloc] init];
|
||||
[self addSubview:imgvhd];
|
||||
[imgvhd mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.height.offset(96);
|
||||
make.centerX.equalTo(self);
|
||||
make.top.offset(162+NavHeight);
|
||||
}];
|
||||
[imgvhd.layer setMasksToBounds:YES];
|
||||
[imgvhd.layer setCornerRadius:6];
|
||||
_imgvhd = imgvhd;
|
||||
|
||||
UILabel *lbname = [[UILabel alloc] init];
|
||||
[lbname setTextColor:[UIColor whiteColor]];
|
||||
[lbname setTextAlignment:NSTextAlignmentCenter];
|
||||
[lbname setFont:[UIFont fontWithName:@"PingFangSC-Regular" size:20]];
|
||||
[self addSubview:lbname];
|
||||
[lbname mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.equalTo(imgvhd.mas_bottom).offset(12);
|
||||
make.centerX.equalTo(self);
|
||||
make.width.lessThanOrEqualTo(@(200));
|
||||
}];
|
||||
_lbname = lbname;
|
||||
|
||||
[self drawWeiJieTing];
|
||||
|
||||
UIButton *btsf = [[UIButton alloc] init];
|
||||
[btsf setImage:[UIImage imageNamed:@"spth_sf"] forState:UIControlStateNormal];
|
||||
[self addSubview:btsf];
|
||||
[btsf mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.offset(10);
|
||||
make.width.height.offset(40);
|
||||
make.top.offset(KMagrinTop);
|
||||
}];
|
||||
|
||||
}
|
||||
return self;
|
||||
}
|
||||
-(void)setType:(int)type
|
||||
{
|
||||
self.imgvback.image = self.imageHead;
|
||||
UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, UISCREEN_WIDTH, UISCREEN_HEIGHT)];
|
||||
toolbar.barStyle = UIBarStyleBlack;
|
||||
[self.imgvback addSubview:toolbar];
|
||||
|
||||
self.imgvhd.image = self.imageHead;
|
||||
self.lbname.text = self.strname;
|
||||
}
|
||||
///已接听
|
||||
-(void)drawJieTing
|
||||
{
|
||||
UIView *viewjt = [[UIView alloc] init];
|
||||
[viewjt setBackgroundColor:[UIColor clearColor]];
|
||||
[self addSubview:viewjt];
|
||||
[viewjt mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.equalTo(self);
|
||||
}];
|
||||
_viewjt = viewjt;
|
||||
|
||||
UILabel *lbtime = [[UILabel alloc] init];
|
||||
[lbtime setText:@"00:00"];
|
||||
[lbtime setTextColor:[UIColor whiteColor]];
|
||||
[lbtime setTextAlignment:NSTextAlignmentCenter];
|
||||
[lbtime setFont:[UIFont fontWithName:@"PingFangSC-Medium" size:18]];
|
||||
[self addSubview:lbtime];
|
||||
[lbtime mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.offset(KMagrinTop);
|
||||
make.height.offset(40);
|
||||
make.centerX.equalTo(self);
|
||||
}];
|
||||
[Tools startTimerWithStartTime:1000 isCountDown:YES result:^(NSInteger tag) {
|
||||
NSInteger temp = 1000-tag;
|
||||
lbtime.text = [self getSecTime:temp];
|
||||
}];
|
||||
|
||||
float fjjj = (UISCREEN_WIDTH-72-72*3)/2.0;
|
||||
NSArray *arr = @[@"麦克风已开",@"挂断",@"扬声器已关"];
|
||||
for(int i = 0 ; i < arr.count; i++)
|
||||
{
|
||||
UIButton *btitem = [[UIButton alloc] init];
|
||||
[btitem setImage:[UIImage imageNamed:[NSString stringWithFormat:@"spth_%@",arr[i]]] forState:UIControlStateNormal];
|
||||
if(i==0)
|
||||
{
|
||||
[btitem setImage:[UIImage imageNamed:[NSString stringWithFormat:@"spth_%@_大",arr[i]]] forState:UIControlStateNormal];
|
||||
}
|
||||
[btitem setTitle:arr[i] forState:UIControlStateNormal];
|
||||
[btitem setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
|
||||
[btitem.titleLabel setFont:[UIFont fontWithName:@"PingFangSC-Regular" size:14]];
|
||||
[viewjt addSubview:btitem];
|
||||
[btitem mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.offset(40+(64+fjjj)*i);
|
||||
make.width.offset(72);
|
||||
make.height.offset(100);
|
||||
make.bottom.equalTo(viewjt).offset(-TabHeight);
|
||||
}];
|
||||
[btitem setIconInTopWithSpacing:8];
|
||||
if(i==1)
|
||||
{
|
||||
[btitem setTag:0];
|
||||
}
|
||||
else
|
||||
{
|
||||
[btitem setTag:i+4];
|
||||
}
|
||||
[btitem addTarget:self action:@selector(funcAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
|
||||
[self.viewwjt removeFromSuperview];
|
||||
}
|
||||
///未接听
|
||||
-(void)drawWeiJieTing
|
||||
{
|
||||
UIView *viewwjt = [[UIView alloc] init];
|
||||
[viewwjt setBackgroundColor:[UIColor clearColor]];
|
||||
[self addSubview:viewwjt];
|
||||
[viewwjt mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.equalTo(self);
|
||||
}];
|
||||
_viewwjt = viewwjt;
|
||||
|
||||
UILabel *lbstate = [[UILabel alloc] init];
|
||||
[lbstate setText:@"连接中"];
|
||||
[lbstate setTextColor:RGBACOLOR(255, 255, 255, 0.6)];
|
||||
[lbstate setTextAlignment:NSTextAlignmentLeft];
|
||||
[lbstate setFont:[UIFont fontWithName:@"PingFangSC-Regular" size:16]];
|
||||
[viewwjt addSubview:lbstate];
|
||||
[lbstate mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.centerY.equalTo(viewwjt);
|
||||
make.centerX.equalTo(viewwjt);
|
||||
}];
|
||||
|
||||
UIButton *btgd = [[UIButton alloc] init];
|
||||
[btgd setImage:[UIImage imageNamed:@"spth_挂断"] forState:UIControlStateNormal];
|
||||
[btgd setTitle:@"拒绝" forState:UIControlStateNormal];
|
||||
[btgd setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
|
||||
[btgd.titleLabel setFont:[UIFont fontWithName:@"PingFangSC-Regular" size:14]];
|
||||
[viewwjt addSubview:btgd];
|
||||
[btgd mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.offset(60);
|
||||
make.width.offset(72);
|
||||
make.height.offset(100);
|
||||
make.bottom.equalTo(viewwjt).offset(-TabHeight);
|
||||
}];
|
||||
[btgd setIconInTopWithSpacing:8];
|
||||
[btgd setTag:0];
|
||||
[btgd addTarget:self action:@selector(funcAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
|
||||
UIButton *btjt = [[UIButton alloc] init];
|
||||
[btjt setImage:[UIImage imageNamed:@"spth_接听"] forState:UIControlStateNormal];
|
||||
[viewwjt addSubview:btjt];
|
||||
[btjt mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.right.equalTo(viewwjt).offset(-60);
|
||||
make.width.height.bottom.equalTo(btgd);
|
||||
}];
|
||||
[btjt setTitle:@"接听" forState:UIControlStateNormal];
|
||||
[btjt setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
|
||||
[btjt.titleLabel setFont:[UIFont fontWithName:@"PingFangSC-Regular" size:14]];
|
||||
[btjt setTag:1];
|
||||
[btjt setIconInTopWithSpacing:8];
|
||||
[btjt addTarget:self action:@selector(funcAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
|
||||
}
|
||||
|
||||
-(void)funcAction:(UIButton *)sender
|
||||
{
|
||||
switch (sender.tag) {
|
||||
case 0:
|
||||
{///挂断
|
||||
///播放声音
|
||||
|
||||
DuanXinShowMainHomeView *view = [[DuanXinShowMainHomeView alloc] initWithFrame:CGRectMake(0, 0, UISCREEN_WIDTH, UISCREEN_HEIGHT)];
|
||||
[self.superview addSubview:view];
|
||||
[self removeFromSuperview];
|
||||
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
{///接听
|
||||
[self drawJieTing];
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
-(NSString *)getSecTime:(NSInteger)itemp
|
||||
{
|
||||
NSString *strback = @"00:00";
|
||||
if(itemp>0)
|
||||
{
|
||||
NSInteger ifen = itemp/60;
|
||||
NSInteger imiao = itemp%60;
|
||||
strback = [NSString stringWithFormat:@"%ld",ifen];
|
||||
if(ifen<10)
|
||||
{
|
||||
strback = [NSString stringWithFormat:@"0%ld",ifen];
|
||||
}
|
||||
if(imiao<10)
|
||||
{
|
||||
strback = [NSString stringWithFormat:@"%@:0%ld",strback,imiao];
|
||||
}
|
||||
else
|
||||
{
|
||||
strback = [NSString stringWithFormat:@"%@:%ld",strback,imiao];
|
||||
}
|
||||
}
|
||||
return strback;
|
||||
}
|
||||
|
||||
|
||||
@end
|
|
@ -0,0 +1,16 @@
|
|||
//
|
||||
// YuYinDianHuaView.h
|
||||
// ProductApp
|
||||
//
|
||||
// Created by 工作 on 2025/3/31.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface YuYinDianHuaView : UIView
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
|
@ -0,0 +1,258 @@
|
|||
//
|
||||
// YuYinDianHuaView.m
|
||||
// ProductApp
|
||||
//
|
||||
// Created by 工作 on 2025/3/31.
|
||||
//
|
||||
|
||||
#import "YuYinDianHuaView.h"
|
||||
#import "WYCamaImageTools.h"
|
||||
#import "PickerAlterView.h"
|
||||
#import "AlterSheetView.h"
|
||||
|
||||
#import "BaseViewController.h"
|
||||
#import "MNHeiPeiView.h"
|
||||
|
||||
@interface YuYinDianHuaView ()<WYCamaImageToolsDelegate>
|
||||
@property (nonatomic , strong) NSMutableArray *arrViews;
|
||||
///
|
||||
@property (nonatomic , strong) NSMutableArray *arrField;
|
||||
|
||||
///
|
||||
@property (nonatomic , strong) UIImageView *imgvhd;
|
||||
@property (nonatomic, strong) WYCamaImageTools *tools;
|
||||
@end
|
||||
|
||||
@implementation YuYinDianHuaView
|
||||
-(id)initWithFrame:(CGRect)frame
|
||||
{
|
||||
if(self = [super initWithFrame:frame])
|
||||
{
|
||||
self.arrViews = [NSMutableArray new];
|
||||
self.arrField = [NSMutableArray new];
|
||||
NSArray *arrtt = @[@"来电昵称",@"来电头像",@"延时语音"];
|
||||
NSArray *arrpl = @[@"请输入昵称",@"请上传",@"请选择"];
|
||||
UIView *viewlast = nil;
|
||||
for(int i = 0 ; i < arrtt.count; i++)
|
||||
{
|
||||
UIView *viewitem = [[UIView alloc] init];
|
||||
[viewitem setBackgroundColor:[UIColor whiteColor]];
|
||||
[self addSubview:viewitem];
|
||||
[viewitem mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.right.equalTo(self);
|
||||
if(i==0)
|
||||
{
|
||||
make.top.offset(0);
|
||||
}
|
||||
else
|
||||
{
|
||||
make.top.equalTo(viewlast.mas_bottom);
|
||||
}
|
||||
make.height.offset(53);
|
||||
}];
|
||||
viewlast = viewitem;
|
||||
[self.arrViews addObject:viewitem];
|
||||
|
||||
BOOL isselect = YES;
|
||||
if(i==0)isselect=NO;
|
||||
UITextField *field = [self drawItemView:viewitem andtitle:arrtt[i] isselect:isselect platch:arrpl[i] tag:i];
|
||||
[self.arrField addObject:field];
|
||||
|
||||
if(i==1)
|
||||
{
|
||||
UIImageView *imgvhd = [[UIImageView alloc] init];
|
||||
[imgvhd setImage:[UIImage imageNamed:@"my_nomohead"]];
|
||||
[viewitem addSubview:imgvhd];
|
||||
[imgvhd mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.right.equalTo(viewitem).offset(-33);
|
||||
make.centerY.equalTo(viewitem);
|
||||
make.width.height.offset(58);
|
||||
}];
|
||||
[imgvhd.layer setMasksToBounds:YES];
|
||||
[imgvhd.layer setCornerRadius:6];
|
||||
_imgvhd = imgvhd;
|
||||
[viewitem mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||
make.height.offset(86);
|
||||
}];
|
||||
}
|
||||
else if (i==2)
|
||||
{
|
||||
field.text = @"3秒钟";
|
||||
}
|
||||
}
|
||||
|
||||
UIView *viewbottom = [[UIView alloc] init];
|
||||
[viewbottom setBackgroundColor:[UIColor whiteColor]];
|
||||
[self addSubview:viewbottom];
|
||||
[viewbottom mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.right.bottom.equalTo(self);
|
||||
make.height.offset(TabHeight+20);
|
||||
}];
|
||||
|
||||
UIButton *btok = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, UISCREEN_WIDTH-32, 46)];
|
||||
[btok setTitle:@"确定" forState:UIControlStateNormal];
|
||||
[btok setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
|
||||
[btok.titleLabel setFont:[UIFont systemFontOfSize:15]];
|
||||
[btok.layer setMasksToBounds:YES];
|
||||
[btok.layer setCornerRadius:23];
|
||||
[viewbottom addSubview:btok];
|
||||
[btok mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.offset(16);
|
||||
make.top.offset(9);
|
||||
make.right.equalTo(viewbottom).offset(-16);
|
||||
make.height.offset(46);
|
||||
}];
|
||||
[btok addTarget:self action:@selector(okAction) forControlEvents:UIControlEventTouchUpInside];
|
||||
[Tools changedView:btok colors:@[(id)RGBCOLOR(119, 140, 245).CGColor,(id)RGBCOLOR(166, 121, 244).CGColor] startPoint:CGPointMake(0, 0) endPoint:CGPointMake(1, 0)];
|
||||
|
||||
}
|
||||
return self;
|
||||
}
|
||||
-(UITextField *)drawItemView:(UIView *)view andtitle:(NSString *)title isselect:(BOOL)isselect platch:(NSString *)platch tag:(int)tag
|
||||
{
|
||||
float f_w = [Tools getWidthWithText:title height:20 font:15]+5;
|
||||
UILabel *lbname = [[UILabel alloc] init];
|
||||
[lbname setText:title];
|
||||
[lbname setTextColor:RGBCOLOR(102, 102, 102)];
|
||||
[lbname setTextAlignment:NSTextAlignmentLeft];
|
||||
[lbname setFont:[UIFont systemFontOfSize:15]];
|
||||
[view addSubview:lbname];
|
||||
[lbname mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.offset(15);
|
||||
make.centerY.equalTo(view);
|
||||
make.width.offset(f_w);
|
||||
}];
|
||||
|
||||
UITextField *field = [[UITextField alloc] init];
|
||||
[field setTextColor:RGBCOLOR(102, 102, 102)];
|
||||
[field setTextAlignment:NSTextAlignmentRight];
|
||||
[field setFont:[UIFont systemFontOfSize:15]];
|
||||
[view addSubview:field];
|
||||
[field mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.equalTo(lbname.mas_right);
|
||||
make.top.bottom.equalTo(view);
|
||||
make.right.equalTo(view).offset(-15);
|
||||
}];
|
||||
[field setPlaceholder:platch];
|
||||
if(isselect)
|
||||
{
|
||||
[field mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||
make.right.equalTo(view).offset(-33);
|
||||
}];
|
||||
|
||||
UIImageView *imgvnext = [[UIImageView alloc] init];
|
||||
[imgvnext setImage:[UIImage imageNamed:@"my_next"]];
|
||||
[view addSubview:imgvnext];
|
||||
[imgvnext mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.right.equalTo(view).offset(-9);
|
||||
make.centerY.equalTo(view);
|
||||
make.width.height.offset(20);
|
||||
}];
|
||||
|
||||
UIButton *btitem = [[UIButton alloc] init];
|
||||
[view addSubview:btitem];
|
||||
[btitem mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.top.bottom.equalTo(field);
|
||||
make.right.equalTo(view);
|
||||
}];
|
||||
[btitem setTag:tag];
|
||||
[btitem addTarget:self action:@selector(itemAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
|
||||
}
|
||||
UIView *viewline = [[UIView alloc] init];
|
||||
[viewline setBackgroundColor:RGBCOLOR(238, 238, 238)];
|
||||
[view addSubview:viewline];
|
||||
[viewline mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.offset(16);
|
||||
make.bottom.equalTo(view);
|
||||
make.right.equalTo(view).offset(-16);
|
||||
make.height.offset(1);
|
||||
}];
|
||||
|
||||
return field;
|
||||
}
|
||||
|
||||
-(void)itemAction:(UIButton *)sender
|
||||
{
|
||||
[self endEditing:YES];
|
||||
if(sender.tag==1)
|
||||
{
|
||||
self.tools.isvideo = NO;
|
||||
self.tools.isedit = YES;
|
||||
[AlterSheetView showAlterSheetTitle:@"" bts:@[@"随机获取",@"拍照",@"相册中选择"] buttomTitle:@"取消" otherBtsColor:RGBCOLOR(92, 117, 248) otherColorTitles:@[@"随机获取"] backValue:^(NSInteger tag) {
|
||||
NSLog(@"%ld",tag);
|
||||
if(tag==1)
|
||||
{
|
||||
|
||||
}
|
||||
else if(tag==2)
|
||||
{
|
||||
[self.tools choosePicWithViewController:self.viewController chooseType:ChooseTypeTakePic];
|
||||
}
|
||||
else if(tag==3)
|
||||
{
|
||||
[self.tools choosePicWithViewController:self.viewController chooseType:ChooseTypeAlbum];
|
||||
}
|
||||
}];
|
||||
}
|
||||
else if (sender.tag==2)
|
||||
{
|
||||
[PickerAlterView showPickers:@[@"3秒钟",@"10秒钟",@"30秒钟",@"1分钟",@"2分钟",@"3分钟",@"5分钟",@"10分钟",@"30分钟"] title:@"选择时间" backValue:^(NSString * _Nonnull strback) {
|
||||
UITextField *field = self.arrField[2];
|
||||
field.text = strback;
|
||||
}];
|
||||
}
|
||||
}
|
||||
|
||||
-(void)okAction
|
||||
{
|
||||
UITextField *fieldname = self.arrField[0];
|
||||
// if(fieldname.text.length==0)
|
||||
// {
|
||||
// [HXHud showMessage:@"请输入来电昵称" afterDelayType:0];
|
||||
// return;
|
||||
// }
|
||||
// if(self.videourl==nil)
|
||||
// {
|
||||
// [HXHud showMessage:@"请选择来电视频" afterDelayType:0];
|
||||
// return;
|
||||
// }
|
||||
UITextField *fieldtime = self.arrField[2];
|
||||
NSString *strtime = fieldtime.text;
|
||||
if([strtime containsString:@"秒钟"])
|
||||
{
|
||||
strtime=[strtime stringByReplacingOccurrencesOfString:@"秒钟" withString:@""];
|
||||
}
|
||||
else
|
||||
{
|
||||
strtime=[strtime stringByReplacingOccurrencesOfString:@"分钟" withString:@""];
|
||||
strtime = [NSString stringWithFormat:@"%d",strtime.intValue*60];
|
||||
}
|
||||
|
||||
[[UIApplication sharedApplication] setIdleTimerDisabled:YES];
|
||||
BaseViewController *vc = (BaseViewController *)self.viewController;
|
||||
[vc refShowStateBar:NO];
|
||||
MNHeiPeiView *viewhp = [[MNHeiPeiView alloc] initWithFrame:CGRectMake(0, 0, UISCREEN_WIDTH, UISCREEN_HEIGHT)];
|
||||
[self.viewController.view addSubview:viewhp];
|
||||
viewhp.time = strtime.intValue;
|
||||
viewhp.imageHead = self.imgvhd.image;
|
||||
viewhp.strname = fieldname.text;
|
||||
viewhp.type = 3;
|
||||
}
|
||||
|
||||
#pragma mark - WYCamaImageToolsDelegate
|
||||
-(void)didEndChoosePic:(UIImage *)image
|
||||
{
|
||||
self.imgvhd.image = image;
|
||||
}
|
||||
- (WYCamaImageTools *)tools {
|
||||
if (!_tools) {
|
||||
_tools = [[WYCamaImageTools alloc] init];
|
||||
_tools.delegate = self;
|
||||
|
||||
}return _tools;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@end
|