完成用户订阅UI布局
This commit is contained in:
parent
4a0a4d975d
commit
a1084a84ad
@ -9,6 +9,11 @@
|
|||||||
/* Begin PBXBuildFile section */
|
/* Begin PBXBuildFile section */
|
||||||
003624662BA3F0AB0080D014 /* ZZHImageExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 003624652BA3F0AB0080D014 /* ZZHImageExtension.swift */; };
|
003624662BA3F0AB0080D014 /* ZZHImageExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 003624652BA3F0AB0080D014 /* ZZHImageExtension.swift */; };
|
||||||
005580782B9F1525004B9567 /* ZZHHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 005580772B9F1525004B9567 /* ZZHHelper.swift */; };
|
005580782B9F1525004B9567 /* ZZHHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 005580772B9F1525004B9567 /* ZZHHelper.swift */; };
|
||||||
|
006B61C72BBA499D003FCB49 /* SKUPay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 006B61C62BBA499D003FCB49 /* SKUPay.swift */; };
|
||||||
|
006B61CA2BBA4B0D003FCB49 /* MembershipVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 006B61C92BBA4B0D003FCB49 /* MembershipVC.swift */; };
|
||||||
|
006B61CD2BBA4E3D003FCB49 /* UserInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 006B61CC2BBA4E3D003FCB49 /* UserInfo.swift */; };
|
||||||
|
006B61CF2BBA5D0A003FCB49 /* MembershipVCConfigureView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 006B61CE2BBA5D0A003FCB49 /* MembershipVCConfigureView.swift */; };
|
||||||
|
006B61D12BBA5DB4003FCB49 /* MembershipProductView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 006B61D02BBA5DB4003FCB49 /* MembershipProductView.swift */; };
|
||||||
009661F82BAD6C7100FCA65F /* CCSpaceAlbumFilterPopView2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 009661F72BAD6C7100FCA65F /* CCSpaceAlbumFilterPopView2.swift */; };
|
009661F82BAD6C7100FCA65F /* CCSpaceAlbumFilterPopView2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 009661F72BAD6C7100FCA65F /* CCSpaceAlbumFilterPopView2.swift */; };
|
||||||
009661FA2BAD876200FCA65F /* PhotosUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 009661F92BAD876200FCA65F /* PhotosUI.framework */; };
|
009661FA2BAD876200FCA65F /* PhotosUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 009661F92BAD876200FCA65F /* PhotosUI.framework */; };
|
||||||
009661FC2BADB20D00FCA65F /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 009661FB2BADB20D00FCA65F /* CoreMotion.framework */; };
|
009661FC2BADB20D00FCA65F /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 009661FB2BADB20D00FCA65F /* CoreMotion.framework */; };
|
||||||
@ -103,6 +108,11 @@
|
|||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
003624652BA3F0AB0080D014 /* ZZHImageExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ZZHImageExtension.swift; sourceTree = "<group>"; };
|
003624652BA3F0AB0080D014 /* ZZHImageExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ZZHImageExtension.swift; sourceTree = "<group>"; };
|
||||||
005580772B9F1525004B9567 /* ZZHHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ZZHHelper.swift; sourceTree = "<group>"; };
|
005580772B9F1525004B9567 /* ZZHHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ZZHHelper.swift; sourceTree = "<group>"; };
|
||||||
|
006B61C62BBA499D003FCB49 /* SKUPay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SKUPay.swift; sourceTree = "<group>"; };
|
||||||
|
006B61C92BBA4B0D003FCB49 /* MembershipVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MembershipVC.swift; sourceTree = "<group>"; };
|
||||||
|
006B61CC2BBA4E3D003FCB49 /* UserInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserInfo.swift; sourceTree = "<group>"; };
|
||||||
|
006B61CE2BBA5D0A003FCB49 /* MembershipVCConfigureView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MembershipVCConfigureView.swift; sourceTree = "<group>"; };
|
||||||
|
006B61D02BBA5DB4003FCB49 /* MembershipProductView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MembershipProductView.swift; sourceTree = "<group>"; };
|
||||||
009661F72BAD6C7100FCA65F /* CCSpaceAlbumFilterPopView2.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CCSpaceAlbumFilterPopView2.swift; sourceTree = "<group>"; };
|
009661F72BAD6C7100FCA65F /* CCSpaceAlbumFilterPopView2.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CCSpaceAlbumFilterPopView2.swift; sourceTree = "<group>"; };
|
||||||
009661F92BAD876200FCA65F /* PhotosUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PhotosUI.framework; path = System/Library/Frameworks/PhotosUI.framework; sourceTree = SDKROOT; };
|
009661F92BAD876200FCA65F /* PhotosUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PhotosUI.framework; path = System/Library/Frameworks/PhotosUI.framework; sourceTree = SDKROOT; };
|
||||||
009661FB2BADB20D00FCA65F /* CoreMotion.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMotion.framework; path = System/Library/Frameworks/CoreMotion.framework; sourceTree = SDKROOT; };
|
009661FB2BADB20D00FCA65F /* CoreMotion.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMotion.framework; path = System/Library/Frameworks/CoreMotion.framework; sourceTree = SDKROOT; };
|
||||||
@ -217,6 +227,32 @@
|
|||||||
/* End PBXFrameworksBuildPhase section */
|
/* End PBXFrameworksBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXGroup section */
|
/* Begin PBXGroup section */
|
||||||
|
006B61C52BBA4974003FCB49 /* SKUPay */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
006B61C62BBA499D003FCB49 /* SKUPay.swift */,
|
||||||
|
);
|
||||||
|
path = SKUPay;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
006B61C82BBA4AF2003FCB49 /* MembershipVC */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
006B61C92BBA4B0D003FCB49 /* MembershipVC.swift */,
|
||||||
|
006B61CE2BBA5D0A003FCB49 /* MembershipVCConfigureView.swift */,
|
||||||
|
006B61D02BBA5DB4003FCB49 /* MembershipProductView.swift */,
|
||||||
|
);
|
||||||
|
path = MembershipVC;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
006B61CB2BBA4E30003FCB49 /* UserInfo */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
006B61CC2BBA4E3D003FCB49 /* UserInfo.swift */,
|
||||||
|
);
|
||||||
|
path = UserInfo;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
0096624B2BB3BA0100FCA65F /* ExternalScreen */ = {
|
0096624B2BB3BA0100FCA65F /* ExternalScreen */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
@ -402,6 +438,8 @@
|
|||||||
AF2120A12B4E83AF00400B7F /* CCKit */ = {
|
AF2120A12B4E83AF00400B7F /* CCKit */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
006B61CB2BBA4E30003FCB49 /* UserInfo */,
|
||||||
|
006B61C52BBA4974003FCB49 /* SKUPay */,
|
||||||
1EFB8C6A2B88D4FF00C72119 /* Config */,
|
1EFB8C6A2B88D4FF00C72119 /* Config */,
|
||||||
AF2120BA2B4E95AF00400B7F /* Add */,
|
AF2120BA2B4E95AF00400B7F /* Add */,
|
||||||
AF2120A22B4E83AF00400B7F /* Kit */,
|
AF2120A22B4E83AF00400B7F /* Kit */,
|
||||||
@ -476,6 +514,7 @@
|
|||||||
AF2120A72B4E83B000400B7F /* Controller */ = {
|
AF2120A72B4E83B000400B7F /* Controller */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
006B61C82BBA4AF2003FCB49 /* MembershipVC */,
|
||||||
1EEF683C2B8D076B00B953F7 /* VRPreview */,
|
1EEF683C2B8D076B00B953F7 /* VRPreview */,
|
||||||
1E39459C2B83837900D0F5CA /* RecordingVideo */,
|
1E39459C2B83837900D0F5CA /* RecordingVideo */,
|
||||||
00B946222B67B26D00DA668F /* ddd_video.mp4 */,
|
00B946222B67B26D00DA668F /* ddd_video.mp4 */,
|
||||||
@ -700,6 +739,7 @@
|
|||||||
AF21210B2B4EA7FE00400B7F /* CCRequest.swift in Sources */,
|
AF21210B2B4EA7FE00400B7F /* CCRequest.swift in Sources */,
|
||||||
AF2120D82B4E9AC500400B7F /* CCAddImageView.swift in Sources */,
|
AF2120D82B4E9AC500400B7F /* CCAddImageView.swift in Sources */,
|
||||||
00D33BF42B998BF700604A44 /* SpatialImageConvertor.swift in Sources */,
|
00D33BF42B998BF700604A44 /* SpatialImageConvertor.swift in Sources */,
|
||||||
|
006B61CA2BBA4B0D003FCB49 /* MembershipVC.swift in Sources */,
|
||||||
AF2120B32B4E94BE00400B7F /* CCDefine.swift in Sources */,
|
AF2120B32B4E94BE00400B7F /* CCDefine.swift in Sources */,
|
||||||
1EEF683E2B8D079600B953F7 /* CCVRPreviewController.swift in Sources */,
|
1EEF683E2B8D079600B953F7 /* CCVRPreviewController.swift in Sources */,
|
||||||
04E1D3F12B68EDFE00743F2F /* CCWebController.swift in Sources */,
|
04E1D3F12B68EDFE00743F2F /* CCWebController.swift in Sources */,
|
||||||
@ -731,6 +771,7 @@
|
|||||||
00D33BFA2B9AB21A00604A44 /* ZZHAVExtension.swift in Sources */,
|
00D33BFA2B9AB21A00604A44 /* ZZHAVExtension.swift in Sources */,
|
||||||
009661F82BAD6C7100FCA65F /* CCSpaceAlbumFilterPopView2.swift in Sources */,
|
009661F82BAD6C7100FCA65F /* CCSpaceAlbumFilterPopView2.swift in Sources */,
|
||||||
AF2120E02B4E9C8000400B7F /* Timer+Add.swift in Sources */,
|
AF2120E02B4E9C8000400B7F /* Timer+Add.swift in Sources */,
|
||||||
|
006B61C72BBA499D003FCB49 /* SKUPay.swift in Sources */,
|
||||||
AF2120DE2B4E9C3500400B7F /* AppDelegate+Add.swift in Sources */,
|
AF2120DE2B4E9C3500400B7F /* AppDelegate+Add.swift in Sources */,
|
||||||
1EFB8C6E2B88D9D800C72119 /* CCBottomMenuPopView.swift in Sources */,
|
1EFB8C6E2B88D9D800C72119 /* CCBottomMenuPopView.swift in Sources */,
|
||||||
003624662BA3F0AB0080D014 /* ZZHImageExtension.swift in Sources */,
|
003624662BA3F0AB0080D014 /* ZZHImageExtension.swift in Sources */,
|
||||||
@ -745,15 +786,18 @@
|
|||||||
009662442BB2B93C00FCA65F /* SceneDelegate.swift in Sources */,
|
009662442BB2B93C00FCA65F /* SceneDelegate.swift in Sources */,
|
||||||
AF2120AB2B4E848400400B7F /* RootNavigationController.swift in Sources */,
|
AF2120AB2B4E848400400B7F /* RootNavigationController.swift in Sources */,
|
||||||
AF2120C92B4E95DA00400B7F /* UIDevice+Add.swift in Sources */,
|
AF2120C92B4E95DA00400B7F /* UIDevice+Add.swift in Sources */,
|
||||||
|
006B61CD2BBA4E3D003FCB49 /* UserInfo.swift in Sources */,
|
||||||
AF2120AF2B4E930400400B7F /* RootManager.swift in Sources */,
|
AF2120AF2B4E930400400B7F /* RootManager.swift in Sources */,
|
||||||
1E02C9322B8990C600DD3143 /* CCDeviceOperationListView.swift in Sources */,
|
1E02C9322B8990C600DD3143 /* CCDeviceOperationListView.swift in Sources */,
|
||||||
AF2120DA2B4E9BD400400B7F /* CCAlert.swift in Sources */,
|
AF2120DA2B4E9BD400400B7F /* CCAlert.swift in Sources */,
|
||||||
|
006B61D12BBA5DB4003FCB49 /* MembershipProductView.swift in Sources */,
|
||||||
0096625A2BB552E700FCA65F /* CCSpatialVideoDisplayForVideoTask.swift in Sources */,
|
0096625A2BB552E700FCA65F /* CCSpatialVideoDisplayForVideoTask.swift in Sources */,
|
||||||
1EFB8C702B88DA4800C72119 /* CCBottomMenuCell.swift in Sources */,
|
1EFB8C702B88DA4800C72119 /* CCBottomMenuCell.swift in Sources */,
|
||||||
AF2120FA2B4EA5BD00400B7F /* CCHomeController.swift in Sources */,
|
AF2120FA2B4EA5BD00400B7F /* CCHomeController.swift in Sources */,
|
||||||
00ED6B342BA04AC200915BDE /* PlayByTransferConvertor.swift in Sources */,
|
00ED6B342BA04AC200915BDE /* PlayByTransferConvertor.swift in Sources */,
|
||||||
AF2121072B4EA63000400B7F /* CCHomeData.swift in Sources */,
|
AF2121072B4EA63000400B7F /* CCHomeData.swift in Sources */,
|
||||||
AF2120FE2B4EA5F100400B7F /* CCLoginController.swift in Sources */,
|
AF2120FE2B4EA5F100400B7F /* CCLoginController.swift in Sources */,
|
||||||
|
006B61CF2BBA5D0A003FCB49 /* MembershipVCConfigureView.swift in Sources */,
|
||||||
AF2120CE2B4E979500400B7F /* CCTextField.swift in Sources */,
|
AF2120CE2B4E979500400B7F /* CCTextField.swift in Sources */,
|
||||||
1E1EA2882B9325D300A5D5D2 /* CCSpatialPhotoDisplayController.swift in Sources */,
|
1E1EA2882B9325D300A5D5D2 /* CCSpatialPhotoDisplayController.swift in Sources */,
|
||||||
);
|
);
|
||||||
|
|||||||
Binary file not shown.
@ -14,8 +14,8 @@
|
|||||||
filePath = "SwiftProject/Project/Controller/CCHomeController.swift"
|
filePath = "SwiftProject/Project/Controller/CCHomeController.swift"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "502"
|
startingLineNumber = "514"
|
||||||
endingLineNumber = "502"
|
endingLineNumber = "514"
|
||||||
landmarkName = "imagePickerController(_:didFinishPickingMediaWithInfo:)"
|
landmarkName = "imagePickerController(_:didFinishPickingMediaWithInfo:)"
|
||||||
landmarkType = "7">
|
landmarkType = "7">
|
||||||
</BreakpointContent>
|
</BreakpointContent>
|
||||||
@ -30,8 +30,8 @@
|
|||||||
filePath = "SwiftProject/Project/Controller/CCHomeController.swift"
|
filePath = "SwiftProject/Project/Controller/CCHomeController.swift"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "494"
|
startingLineNumber = "506"
|
||||||
endingLineNumber = "494"
|
endingLineNumber = "506"
|
||||||
landmarkName = "CCHomeController"
|
landmarkName = "CCHomeController"
|
||||||
landmarkType = "21">
|
landmarkType = "21">
|
||||||
</BreakpointContent>
|
</BreakpointContent>
|
||||||
@ -94,8 +94,8 @@
|
|||||||
filePath = "SwiftProject/Project/Controller/CCHomeController.swift"
|
filePath = "SwiftProject/Project/Controller/CCHomeController.swift"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "458"
|
startingLineNumber = "470"
|
||||||
endingLineNumber = "458"
|
endingLineNumber = "470"
|
||||||
landmarkName = "gotoVideoTransformVC(url:asset:)"
|
landmarkName = "gotoVideoTransformVC(url:asset:)"
|
||||||
landmarkType = "7">
|
landmarkType = "7">
|
||||||
</BreakpointContent>
|
</BreakpointContent>
|
||||||
@ -615,6 +615,38 @@
|
|||||||
endingLineNumber = "442"
|
endingLineNumber = "442"
|
||||||
landmarkName = "navgationButtonClick2(sender:)"
|
landmarkName = "navgationButtonClick2(sender:)"
|
||||||
landmarkType = "7">
|
landmarkType = "7">
|
||||||
|
<Locations>
|
||||||
|
<Location
|
||||||
|
uuid = "AC3AF843-C4D6-4749-834A-B1DCA686B7CC - 151cde592e5f7ae5"
|
||||||
|
shouldBeEnabled = "Yes"
|
||||||
|
ignoreCount = "0"
|
||||||
|
continueAfterRunningActions = "No"
|
||||||
|
symbolName = "closure #1 (Swift.Int) -> () in SwiftProject.CCSpatialVideoDisplayController.navgationButtonClick2(sender: __C.UIButton) -> ()"
|
||||||
|
moduleName = "SwiftProject"
|
||||||
|
usesParentBreakpointCondition = "Yes"
|
||||||
|
urlString = "file:///Users/aaa/Documents/IOS%20Dev/VR/SwiftProject/SwiftProject/Project/Controller/RecordingVideo/CCSpatialVideoDisplayController/CCSpatialVideoDisplayController.swift"
|
||||||
|
startingColumnNumber = "9223372036854775807"
|
||||||
|
endingColumnNumber = "9223372036854775807"
|
||||||
|
startingLineNumber = "437"
|
||||||
|
endingLineNumber = "437"
|
||||||
|
offsetFromSymbolStart = "608">
|
||||||
|
</Location>
|
||||||
|
<Location
|
||||||
|
uuid = "AC3AF843-C4D6-4749-834A-B1DCA686B7CC - 151cde592e5f7b80"
|
||||||
|
shouldBeEnabled = "Yes"
|
||||||
|
ignoreCount = "0"
|
||||||
|
continueAfterRunningActions = "No"
|
||||||
|
symbolName = "closure #1 (Swift.Int) -> () in SwiftProject.CCSpatialVideoDisplayController.navgationButtonClick2(sender: __C.UIButton) -> ()"
|
||||||
|
moduleName = "SwiftProject"
|
||||||
|
usesParentBreakpointCondition = "Yes"
|
||||||
|
urlString = "file:///Users/aaa/Documents/IOS%20Dev/VR/SwiftProject/SwiftProject/Project/Controller/RecordingVideo/CCSpatialVideoDisplayController/CCSpatialVideoDisplayController.swift"
|
||||||
|
startingColumnNumber = "9223372036854775807"
|
||||||
|
endingColumnNumber = "9223372036854775807"
|
||||||
|
startingLineNumber = "442"
|
||||||
|
endingLineNumber = "442"
|
||||||
|
offsetFromSymbolStart = "608">
|
||||||
|
</Location>
|
||||||
|
</Locations>
|
||||||
</BreakpointContent>
|
</BreakpointContent>
|
||||||
</BreakpointProxy>
|
</BreakpointProxy>
|
||||||
</Breakpoints>
|
</Breakpoints>
|
||||||
|
|||||||
11
SwiftProject/SwiftProject/CCKit/SKUPay/SKUPay.swift
Normal file
11
SwiftProject/SwiftProject/CCKit/SKUPay/SKUPay.swift
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
//
|
||||||
|
// SKUPay.swift
|
||||||
|
// SwiftProject
|
||||||
|
//
|
||||||
|
// Created by aaa on 2024/4/1.
|
||||||
|
//
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
class SKUPay {
|
||||||
|
|
||||||
|
}
|
||||||
17
SwiftProject/SwiftProject/CCKit/UserInfo/UserInfo.swift
Normal file
17
SwiftProject/SwiftProject/CCKit/UserInfo/UserInfo.swift
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
//
|
||||||
|
// UserInfo.swift
|
||||||
|
// SwiftProject
|
||||||
|
//
|
||||||
|
// Created by aaa on 2024/4/1.
|
||||||
|
//
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
class UserInfo: NSObject {
|
||||||
|
static let sharedInstance = UserInfo()
|
||||||
|
|
||||||
|
var isMemberShip:Bool {
|
||||||
|
get {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -287,6 +287,7 @@ class CCHomeController: BaseController, LLCycleScrollViewDelegate,MFMailComposeV
|
|||||||
mBottomBtn3?.setBackgroundImage(UIImage.init(named: NSLocalizedString("home_card_2", comment: "")), for: UIControl.State.normal)
|
mBottomBtn3?.setBackgroundImage(UIImage.init(named: NSLocalizedString("home_card_2", comment: "")), for: UIControl.State.normal)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//MARK: - 打开相机、相薄、图库
|
||||||
@objc public func navgationButtonClick2(sender:UIButton){
|
@objc public func navgationButtonClick2(sender:UIButton){
|
||||||
|
|
||||||
print("nihao")
|
print("nihao")
|
||||||
@ -297,8 +298,19 @@ class CCHomeController: BaseController, LLCycleScrollViewDelegate,MFMailComposeV
|
|||||||
}
|
}
|
||||||
|
|
||||||
if sender.tag == 20 {
|
if sender.tag == 20 {
|
||||||
|
if UserInfo.sharedInstance.isMemberShip {
|
||||||
let vc:CCSpatialShootController = CCSpatialShootController()
|
let vc:CCSpatialShootController = CCSpatialShootController()
|
||||||
self.navigationController?.pushViewController(vc, animated: true)
|
self.navigationController?.pushViewController(vc, animated: true)
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
let vc:MembershipVC = MembershipVC()
|
||||||
|
let nav = UINavigationController(rootViewController: vc)
|
||||||
|
// self.navigationController?.pushViewController(vc, animated: true)
|
||||||
|
nav.modalTransitionStyle = UIModalTransitionStyle.coverVertical
|
||||||
|
nav.modalPresentationStyle = .fullScreen
|
||||||
|
self.present(nav, animated: true)
|
||||||
|
}
|
||||||
|
|
||||||
}else if sender.tag == 21{
|
}else if sender.tag == 21{
|
||||||
//空间转码
|
//空间转码
|
||||||
// gotoSpatialPlayVC()
|
// gotoSpatialPlayVC()
|
||||||
|
|||||||
@ -0,0 +1,183 @@
|
|||||||
|
//
|
||||||
|
// MembershipProductView.swift
|
||||||
|
// SwiftProject
|
||||||
|
//
|
||||||
|
// Created by aaa on 2024/4/1.
|
||||||
|
//
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
import UIKit
|
||||||
|
//数据源模型
|
||||||
|
//MARK: - MemberShipModelItem
|
||||||
|
class MemberShipModelItem: NSObject {
|
||||||
|
var title:String?
|
||||||
|
var desc:String?
|
||||||
|
var rightDesc:String?
|
||||||
|
var isSelected:Bool = false
|
||||||
|
}
|
||||||
|
|
||||||
|
//MARK: - MembershipProductView
|
||||||
|
typealias MembershipProductViewCallback = (_ item:MemberShipModelItem?)->()
|
||||||
|
|
||||||
|
class MembershipProductView: UIView ,UITableViewDataSource,UITableViewDelegate{
|
||||||
|
var tableView:UITableView?
|
||||||
|
var dataSource:[MemberShipModelItem] = []
|
||||||
|
var selectedItem:MemberShipModelItem?
|
||||||
|
let kMembershipViewCell_identifier = "kMembershipViewCell_identifier"
|
||||||
|
var selectCallback:MembershipProductViewCallback?
|
||||||
|
|
||||||
|
required public init?(coder aDecoder: NSCoder) {
|
||||||
|
fatalError("init(coder:) has not been implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
override init(frame: CGRect) {
|
||||||
|
super.init(frame: frame)
|
||||||
|
tableView = UITableView.init(frame: .zero, style: .plain)
|
||||||
|
self.addSubview(tableView!)
|
||||||
|
tableView?.snp.makeConstraints({ make in
|
||||||
|
make.left.top.right.bottom.equalToSuperview()
|
||||||
|
})
|
||||||
|
|
||||||
|
tableView?.delegate = self
|
||||||
|
tableView?.dataSource = self
|
||||||
|
tableView?.register(MembershipViewCell.classForCoder(), forCellReuseIdentifier: kMembershipViewCell_identifier)
|
||||||
|
tableView?.separatorStyle = .none
|
||||||
|
tableView?.isScrollEnabled = false
|
||||||
|
tableView?.showsHorizontalScrollIndicator = false
|
||||||
|
}
|
||||||
|
|
||||||
|
func setData(_ dataArr:[MemberShipModelItem]?,selectedItem:MemberShipModelItem?) {
|
||||||
|
dataSource.removeAll()
|
||||||
|
guard let ad = dataArr else {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
dataSource.append(contentsOf: ad)
|
||||||
|
self.selectedItem = selectedItem
|
||||||
|
|
||||||
|
tableView?.reloadData()
|
||||||
|
}
|
||||||
|
|
||||||
|
//MARK: - UITableViewDataSource,UITableViewDelegate
|
||||||
|
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
|
||||||
|
return self.dataSource.count
|
||||||
|
}
|
||||||
|
|
||||||
|
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
|
||||||
|
let cell:MembershipViewCell = tableView.dequeueReusableCell(withIdentifier: kMembershipViewCell_identifier, for: indexPath) as! MembershipViewCell
|
||||||
|
let item = self.dataSource[indexPath.row]
|
||||||
|
cell.setItemData(item)
|
||||||
|
cell.selectionStyle = .none
|
||||||
|
return cell
|
||||||
|
}
|
||||||
|
|
||||||
|
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
|
||||||
|
let item = self.dataSource[indexPath.row]
|
||||||
|
if let si = selectedItem {
|
||||||
|
si.isSelected = false
|
||||||
|
}
|
||||||
|
item.isSelected = true
|
||||||
|
selectedItem = item
|
||||||
|
tableView.reloadData()
|
||||||
|
guard let callback = self.selectCallback else {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
callback(item)
|
||||||
|
}
|
||||||
|
|
||||||
|
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
|
||||||
|
return 66
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//MARK: - MembershipViewCell
|
||||||
|
class MembershipViewCell: UITableViewCell {
|
||||||
|
var item:MemberShipModelItem?
|
||||||
|
var bgView:UIView?
|
||||||
|
var rightDescBtn:UIButton?
|
||||||
|
var leftTitleLabel:UILabel?
|
||||||
|
var leftDescLabel:UILabel?
|
||||||
|
|
||||||
|
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
|
||||||
|
super.init(style: style, reuseIdentifier: reuseIdentifier)
|
||||||
|
bgView = UIView()
|
||||||
|
self.contentView.addSubview(bgView!)
|
||||||
|
bgView?.layer.cornerRadius = 10
|
||||||
|
bgView?.layer.masksToBounds = true
|
||||||
|
bgView?.layer.borderWidth = 2
|
||||||
|
|
||||||
|
bgView?.snp.makeConstraints { make in
|
||||||
|
make.left.equalToSuperview().offset(4)
|
||||||
|
make.top.equalToSuperview().offset(2)
|
||||||
|
make.bottom.equalToSuperview().offset(-2)
|
||||||
|
make.right.equalToSuperview().offset(-4)
|
||||||
|
}
|
||||||
|
|
||||||
|
leftTitleLabel = UILabel()
|
||||||
|
bgView?.addSubview(leftTitleLabel!)
|
||||||
|
leftTitleLabel?.textColor = .black
|
||||||
|
leftTitleLabel?.font = UIFont.systemFont(ofSize: 16)
|
||||||
|
leftTitleLabel?.snp.makeConstraints { make in
|
||||||
|
make.left.equalToSuperview().offset(6)
|
||||||
|
make.top.equalToSuperview().offset(6)
|
||||||
|
}
|
||||||
|
|
||||||
|
leftDescLabel = UILabel()
|
||||||
|
bgView?.addSubview(leftDescLabel!)
|
||||||
|
leftDescLabel?.textColor = .gray
|
||||||
|
leftDescLabel?.font = UIFont.systemFont(ofSize: 12)
|
||||||
|
leftDescLabel?.snp.makeConstraints {[weak self] make in
|
||||||
|
make.left.equalToSuperview().offset(6)
|
||||||
|
make.top.equalTo(self!.leftTitleLabel!.snp.bottom).offset(6)
|
||||||
|
}
|
||||||
|
|
||||||
|
rightDescBtn = UIButton()
|
||||||
|
rightDescBtn?.isUserInteractionEnabled = false
|
||||||
|
self.contentView.addSubview(rightDescBtn!)
|
||||||
|
rightDescBtn?.setBackgroundImage(UIImage(named: "BG_Top"), for: .normal)
|
||||||
|
rightDescBtn?.titleLabel?.font = UIFont.systemFont(ofSize: 12)
|
||||||
|
rightDescBtn?.setTitleColor(.white, for: .normal)
|
||||||
|
rightDescBtn?.snp.makeConstraints { make in
|
||||||
|
make.right.equalToSuperview().offset(0)
|
||||||
|
make.top.equalToSuperview().offset(0)
|
||||||
|
make.height.equalTo(30)
|
||||||
|
make.width.equalTo(120)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func setItemData(_ item:MemberShipModelItem?) {
|
||||||
|
|
||||||
|
self.item = item
|
||||||
|
self.item?.addObserver(self, forKeyPath: "isSelected", context: nil)
|
||||||
|
rightDescBtn?.setTitle(item?.rightDesc, for: .normal)
|
||||||
|
leftTitleLabel?.text = item?.title
|
||||||
|
leftDescLabel?.text = item?.desc
|
||||||
|
updateCellUI()
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func updateCellUI(){
|
||||||
|
guard let it = item else {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if it.isSelected == true{
|
||||||
|
bgView?.backgroundColor = .gray
|
||||||
|
bgView?.layer.borderColor = UIColor.black.cgColor
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
bgView?.backgroundColor = .lightGray
|
||||||
|
bgView?.layer.borderColor = UIColor.gray.cgColor
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
deinit {
|
||||||
|
}
|
||||||
|
|
||||||
|
required init?(coder: NSCoder) {
|
||||||
|
fatalError("init(coder:) has not been implemented")
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,31 @@
|
|||||||
|
//
|
||||||
|
// MembershipVC.swift
|
||||||
|
// SwiftProject
|
||||||
|
//
|
||||||
|
// Created by aaa on 2024/4/1.
|
||||||
|
//
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
import UIKit
|
||||||
|
class MembershipVC: BaseController {
|
||||||
|
var pvView:MembershipProductView?
|
||||||
|
var selectedItem:MemberShipModelItem?
|
||||||
|
|
||||||
|
override func viewDidLoad() {
|
||||||
|
super.viewDidLoad()
|
||||||
|
self.configureUI()
|
||||||
|
self.configureData()
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
override func viewDidDisappear(_ animated: Bool) {
|
||||||
|
super.viewDidDisappear(animated)
|
||||||
|
}
|
||||||
|
|
||||||
|
deinit {
|
||||||
|
print("MembershipVC...deinit")
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@ -0,0 +1,262 @@
|
|||||||
|
//
|
||||||
|
// MembershipVCConfigureView.swift
|
||||||
|
// SwiftProject
|
||||||
|
//
|
||||||
|
// Created by aaa on 2024/4/1.
|
||||||
|
//
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
import UIKit
|
||||||
|
extension MembershipVC {
|
||||||
|
|
||||||
|
|
||||||
|
func configureUI() {
|
||||||
|
self.navLine?.isHidden = true
|
||||||
|
self.setLeftOneBtnImg(imgStr: "Icon_Close_Top")
|
||||||
|
self.leftBtn1?.addTarget(self, action: #selector(dismissVC(sender: )), for: .touchUpInside)
|
||||||
|
self.setRightOneBtnImg(imgStr: "Icon_PopUp_Icon_Folder")
|
||||||
|
self.rightBtn1?.addTarget(self, action: #selector(buyMembership(sender: )), for: .touchUpInside)
|
||||||
|
let topView = self.topView()
|
||||||
|
self.view.addSubview(topView)
|
||||||
|
topView.snp.makeConstraints { make in
|
||||||
|
make.left.right.equalTo(0)
|
||||||
|
make.top.equalToSuperview().offset(120)
|
||||||
|
make.height.equalTo(150)
|
||||||
|
}
|
||||||
|
|
||||||
|
let centerView = self.centerView()
|
||||||
|
self.view.addSubview(centerView)
|
||||||
|
centerView.snp.makeConstraints { make in
|
||||||
|
make.left.equalToSuperview().offset(20)
|
||||||
|
make.right.equalToSuperview().offset(-20)
|
||||||
|
make.top.equalTo(topView.snp.bottom).offset(20)
|
||||||
|
make.height.equalTo(210)
|
||||||
|
}
|
||||||
|
|
||||||
|
let bottomView = self.bottomView()
|
||||||
|
self.view .addSubview(bottomView)
|
||||||
|
bottomView.snp.makeConstraints { make in
|
||||||
|
make.left.equalToSuperview().offset(20)
|
||||||
|
make.right.equalToSuperview().offset(-20)
|
||||||
|
make.top.equalTo(centerView.snp.bottom).offset(20)
|
||||||
|
make.bottom.equalToSuperview()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@objc func dismissVC(sender:UIButton) {
|
||||||
|
self.dismiss(animated: true)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//MARK: - 购买会员
|
||||||
|
@objc func buyMembership(sender:UIButton) {
|
||||||
|
|
||||||
|
}
|
||||||
|
func topView() -> UIView {
|
||||||
|
let bgView = UIView()
|
||||||
|
bgView.backgroundColor = .white
|
||||||
|
let imgView_1 = UIImageView(image: UIImage(named: "logo"))
|
||||||
|
bgView.addSubview(imgView_1)
|
||||||
|
imgView_1.snp.makeConstraints { make in
|
||||||
|
make.height.width.equalTo(30)
|
||||||
|
}
|
||||||
|
|
||||||
|
let titleLabel = UILabel()
|
||||||
|
bgView.addSubview(titleLabel)
|
||||||
|
titleLabel.text = NSLocalizedString("VPcamera", comment: "")
|
||||||
|
titleLabel.snp.makeConstraints { make in
|
||||||
|
make.centerX.equalToSuperview()
|
||||||
|
make.top.equalToSuperview().offset(8)
|
||||||
|
make.centerY.equalTo(imgView_1.snp.centerY)
|
||||||
|
make.left.equalTo(imgView_1.snp.right).offset(4)
|
||||||
|
}
|
||||||
|
|
||||||
|
let imgView_2 = UIImageView(image: UIImage(named: "logo"))
|
||||||
|
bgView.addSubview(imgView_2)
|
||||||
|
imgView_2.snp.makeConstraints { make in
|
||||||
|
make.centerY.equalTo(titleLabel.snp.centerY)
|
||||||
|
make.height.width.equalTo(30)
|
||||||
|
make.left.equalTo(titleLabel.snp.right).offset(4)
|
||||||
|
}
|
||||||
|
|
||||||
|
let siView_1 = shipItemView("logo", NSLocalizedString("membershipdesc_1", comment: ""))
|
||||||
|
bgView.addSubview(siView_1)
|
||||||
|
let siView_2 = shipItemView("logo", NSLocalizedString("membershipdesc_2", comment: ""))
|
||||||
|
bgView.addSubview(siView_2)
|
||||||
|
let siView_3 = shipItemView("logo", NSLocalizedString("membershipdesc_3", comment: ""))
|
||||||
|
bgView.addSubview(siView_3)
|
||||||
|
let siView_4 = shipItemView("logo", NSLocalizedString("membershipdesc_4", comment: ""))
|
||||||
|
bgView.addSubview(siView_4)
|
||||||
|
|
||||||
|
siView_1.snp.makeConstraints { make in
|
||||||
|
make.centerX.equalToSuperview()
|
||||||
|
make.top.equalTo(titleLabel.snp.bottom).offset(20)
|
||||||
|
}
|
||||||
|
siView_2.snp.makeConstraints { make in
|
||||||
|
make.left.equalTo(siView_1.snp.left)
|
||||||
|
make.top.equalTo(siView_1.snp.bottom).offset(4)
|
||||||
|
}
|
||||||
|
|
||||||
|
siView_3.snp.makeConstraints { make in
|
||||||
|
make.left.equalTo(siView_2.snp.left)
|
||||||
|
make.top.equalTo(siView_2.snp.bottom).offset(4)
|
||||||
|
}
|
||||||
|
|
||||||
|
siView_4.snp.makeConstraints { make in
|
||||||
|
make.left.equalTo(siView_3.snp.left)
|
||||||
|
make.top.equalTo(siView_3.snp.bottom).offset(4)
|
||||||
|
}
|
||||||
|
|
||||||
|
return bgView
|
||||||
|
}
|
||||||
|
|
||||||
|
func shipItemView(_ imageName:String,_ desc:String) -> UIView {
|
||||||
|
let bgView = UIView()
|
||||||
|
let imgView = UIImageView()
|
||||||
|
imgView.image = UIImage(named: imageName)
|
||||||
|
bgView.addSubview(imgView)
|
||||||
|
let descLabel = UILabel()
|
||||||
|
descLabel.text = desc
|
||||||
|
bgView.addSubview(descLabel)
|
||||||
|
|
||||||
|
imgView.snp.makeConstraints { make in
|
||||||
|
make.height.width.equalTo(20)
|
||||||
|
make.left.equalToSuperview()
|
||||||
|
make.top.bottom.equalToSuperview()
|
||||||
|
}
|
||||||
|
|
||||||
|
descLabel.snp.makeConstraints { make in
|
||||||
|
make.right.equalToSuperview()
|
||||||
|
make.top.bottom.equalToSuperview()
|
||||||
|
make.left.equalTo(imgView.snp.right).offset(3)
|
||||||
|
}
|
||||||
|
return bgView
|
||||||
|
}
|
||||||
|
|
||||||
|
func centerView() -> UIView {
|
||||||
|
let bgView = UIView()
|
||||||
|
bgView.backgroundColor = .white
|
||||||
|
pvView = MembershipProductView(frame: .zero)
|
||||||
|
bgView.addSubview(pvView!)
|
||||||
|
pvView?.snp.makeConstraints { make in
|
||||||
|
make.left.right.top.bottom.equalToSuperview()
|
||||||
|
}
|
||||||
|
pvView?.selectCallback = {[weak self] item in
|
||||||
|
print("选择....\(item)")
|
||||||
|
self?.selectedItem = item
|
||||||
|
}
|
||||||
|
return bgView
|
||||||
|
}
|
||||||
|
|
||||||
|
//测试数据
|
||||||
|
func configureData(){
|
||||||
|
var arr:[MemberShipModelItem] = []
|
||||||
|
for i in 0 ..< 3 {
|
||||||
|
let item = MemberShipModelItem()
|
||||||
|
item.title = "$9.9/周"
|
||||||
|
item.desc = "低至$0.14/天"
|
||||||
|
item.rightDesc = "90%人选择"
|
||||||
|
item.isSelected = false
|
||||||
|
arr.append(item)
|
||||||
|
}
|
||||||
|
let item = arr[1]
|
||||||
|
item.isSelected = true
|
||||||
|
selectedItem = item
|
||||||
|
pvView?.setData(arr,selectedItem:selectedItem)
|
||||||
|
}
|
||||||
|
|
||||||
|
func bottomView()->UIView {
|
||||||
|
let bgView = UIView()
|
||||||
|
bgView.backgroundColor = .white
|
||||||
|
let btn_privateBtn = UIButton()
|
||||||
|
bgView.addSubview(btn_privateBtn)
|
||||||
|
btn_privateBtn.addTarget(self, action: #selector(goWeb(sender: )), for: .touchUpInside)
|
||||||
|
btn_privateBtn.setTitle(NSLocalizedString("隐私政策", comment: ""), for: .normal)
|
||||||
|
btn_privateBtn.titleLabel?.font = UIFont.systemFont(ofSize: 12)
|
||||||
|
btn_privateBtn.setTitleColor(.gray, for: .normal)
|
||||||
|
btn_privateBtn.tag = 1
|
||||||
|
btn_privateBtn.snp.makeConstraints { make in
|
||||||
|
make.top.equalToSuperview()
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
let line = UIView()
|
||||||
|
bgView.addSubview(line)
|
||||||
|
line.backgroundColor = .gray
|
||||||
|
line.snp.makeConstraints { make in
|
||||||
|
make.width.equalTo(1)
|
||||||
|
make.height.equalTo(10)
|
||||||
|
make.centerX.equalToSuperview()
|
||||||
|
make.centerY.equalTo(btn_privateBtn.snp.centerY)
|
||||||
|
make.left.equalTo(btn_privateBtn.snp.right).offset(30)
|
||||||
|
}
|
||||||
|
|
||||||
|
let btn_userBtn = UIButton()
|
||||||
|
bgView.addSubview(btn_userBtn)
|
||||||
|
btn_userBtn.addTarget(self, action: #selector(goWeb(sender: )), for: .touchUpInside)
|
||||||
|
btn_userBtn.setTitle(NSLocalizedString("用户协议", comment: ""), for: .normal)
|
||||||
|
btn_userBtn.titleLabel?.font = UIFont.systemFont(ofSize: 12)
|
||||||
|
btn_userBtn.setTitleColor(.gray, for: .normal)
|
||||||
|
btn_userBtn.tag = 2
|
||||||
|
btn_userBtn.snp.makeConstraints { make in
|
||||||
|
make.top.equalToSuperview()
|
||||||
|
make.left.equalTo(line.snp.right).offset(30)
|
||||||
|
}
|
||||||
|
|
||||||
|
let subscribeBtn = UIButton()
|
||||||
|
bgView.addSubview(subscribeBtn)
|
||||||
|
subscribeBtn.addTarget(self, action: #selector(subscribeAction(sender: )), for: .touchUpInside)
|
||||||
|
subscribeBtn.titleLabel?.font = UIFont.boldSystemFont(ofSize: 16)
|
||||||
|
subscribeBtn.setTitleColor(.white, for: .normal)
|
||||||
|
subscribeBtn.setTitle(NSLocalizedString("Free Trail 3 Days", comment: ""), for: .normal)
|
||||||
|
subscribeBtn.backgroundColor = .darkText
|
||||||
|
subscribeBtn.layer.masksToBounds = true
|
||||||
|
subscribeBtn.layer.cornerRadius = 16
|
||||||
|
subscribeBtn.snp.makeConstraints { make in
|
||||||
|
make.top.equalTo(btn_privateBtn.snp.bottom).offset(20)
|
||||||
|
make.centerX.equalToSuperview()
|
||||||
|
make.height.equalTo(60)
|
||||||
|
make.left.equalToSuperview().offset(20)
|
||||||
|
make.right.equalToSuperview().offset(-20)
|
||||||
|
}
|
||||||
|
|
||||||
|
let descLabel = UILabel()
|
||||||
|
bgView.addSubview(descLabel)
|
||||||
|
descLabel.numberOfLines = 0
|
||||||
|
descLabel.font = UIFont.systemFont(ofSize: 12)
|
||||||
|
descLabel.textColor = .lightGray
|
||||||
|
descLabel.text = NSLocalizedString("subscribDesc", comment: "")
|
||||||
|
descLabel.snp.makeConstraints { make in
|
||||||
|
make.left.equalToSuperview().offset(20)
|
||||||
|
make.right.equalToSuperview().offset(-20)
|
||||||
|
make.top.equalTo(subscribeBtn.snp.bottom).offset(20)
|
||||||
|
}
|
||||||
|
|
||||||
|
return bgView
|
||||||
|
}
|
||||||
|
|
||||||
|
//MARK: - 跳转web
|
||||||
|
@objc func goWeb(sender:UIButton) {
|
||||||
|
if sender.tag == 1 {//隐私政策
|
||||||
|
let vc:CCWebController = CCWebController()
|
||||||
|
let sizeUrl = NSLocalizedString("siteUrl", comment: "隐私政策url")
|
||||||
|
vc.urlString = sizeUrl
|
||||||
|
self.navigationController?.pushViewController(vc, animated: true)
|
||||||
|
}
|
||||||
|
else if sender.tag == 2{//用户协议
|
||||||
|
let vc:CCWebController = CCWebController()
|
||||||
|
let sizeUrl = NSLocalizedString("userSiteUrl", comment: "用户协议url")
|
||||||
|
vc.urlString = sizeUrl
|
||||||
|
self.navigationController?.pushViewController(vc, animated: true)
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//MARK: - 订阅
|
||||||
|
@objc func subscribeAction(sender:UIButton) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -77,3 +77,15 @@
|
|||||||
"开始串流" = "Start Streaming";
|
"开始串流" = "Start Streaming";
|
||||||
"空间图片保存失败" = "Spatial Photo Save Failed";
|
"空间图片保存失败" = "Spatial Photo Save Failed";
|
||||||
"空间视频保存失败" = "Spatial Video Save Failed";
|
"空间视频保存失败" = "Spatial Video Save Failed";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
"VPcamera" = "VPcamera";
|
||||||
|
"membershipdesc_1" = "Preview larger spatial videos";
|
||||||
|
"membershipdesc_2" = "Capture spatial photo";
|
||||||
|
"membershipdesc_3" = "Export Higher Quality";
|
||||||
|
"membershipdesc_4" = "No Ads";
|
||||||
|
"Free Trail 3 Days" = "Free Trail 3 Days";
|
||||||
|
"subscribDesc" = "免费试用3天,试用结束后,按照图示费用进行续费,您可以随时在Tunes Store中取消订阅.若已订阅过或已付费成功却未显示,可使用相同AppleID恢复会员.确认购买后将从iTunes账户扣款,自动续订会在到期前24小时内扣款,可前往AppleID管理页面关闭订阅.";
|
||||||
|
"用户协议" = "用户协议";
|
||||||
|
"userSiteUrl" = "https://www.wolai.com/9BZr3sEbpbXJEUorHEyAoP";
|
||||||
|
|||||||
@ -80,3 +80,14 @@
|
|||||||
"空间图片保存失败" = "";
|
"空间图片保存失败" = "";
|
||||||
"空间视频保存失败" = "";
|
"空间视频保存失败" = "";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
"VPcamera" = "VPcamera";
|
||||||
|
"membershipdesc_1" = "Preview larger spatial videos";
|
||||||
|
"membershipdesc_2" = "Capture spatial photo";
|
||||||
|
"membershipdesc_3" = "Export Higher Quality";
|
||||||
|
"membershipdesc_4" = "No Ads";
|
||||||
|
"Free Trail 3 Days" = "Free Trail 3 Days";
|
||||||
|
"subscribDesc" = "免费试用3天,试用结束后,按照图示费用进行续费,您可以随时在Tunes Store中取消订阅.若已订阅过或已付费成功却未显示,可使用相同AppleID恢复会员.确认购买后将从iTunes账户扣款,自动续订会在到期前24小时内扣款,可前往AppleID管理页面关闭订阅.";
|
||||||
|
"用户协议" = "用户协议";
|
||||||
|
"userSiteUrl" = "https://www.wolai.com/9BZr3sEbpbXJEUorHEyAoP";
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user