Compare commits
6 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
c6f05b73a1 | ||
|
f87d98c703 | ||
|
24b57a88f6 | ||
|
17068cb7e4 | ||
|
6e9f640f95 | ||
|
8bb7aac8d1 |
@ -7,9 +7,6 @@
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
1BCF943F2DBB62FB008AEBE9 /* FacebookBasics in Frameworks */ = {isa = PBXBuildFile; productRef = 1BCF943E2DBB62FB008AEBE9 /* FacebookBasics */; };
|
||||
1BCF94412DBB62FB008AEBE9 /* FacebookCore in Frameworks */ = {isa = PBXBuildFile; productRef = 1BCF94402DBB62FB008AEBE9 /* FacebookCore */; };
|
||||
1BCF94432DBB62FB008AEBE9 /* FacebookLogin in Frameworks */ = {isa = PBXBuildFile; productRef = 1BCF94422DBB62FB008AEBE9 /* FacebookLogin */; };
|
||||
91D08C5AEAE459A3B8EA48C6 /* Pods_MoviaBox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A81436A54285C9EE97EEBC50 /* Pods_MoviaBox.framework */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
@ -48,9 +45,6 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
1BCF94432DBB62FB008AEBE9 /* FacebookLogin in Frameworks */,
|
||||
1BCF94412DBB62FB008AEBE9 /* FacebookCore in Frameworks */,
|
||||
1BCF943F2DBB62FB008AEBE9 /* FacebookBasics in Frameworks */,
|
||||
91D08C5AEAE459A3B8EA48C6 /* Pods_MoviaBox.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
@ -145,7 +139,6 @@
|
||||
mainGroup = 1DBC40502DA4EDFC0093FCB0;
|
||||
minimizedProjectReferenceProxies = 1;
|
||||
packageReferences = (
|
||||
1BCF943D2DBB62FB008AEBE9 /* XCRemoteSwiftPackageReference "facebook-ios-sdk" */,
|
||||
);
|
||||
preferredProjectObjectVersion = 77;
|
||||
productRefGroup = 1DBC405A2DA4EDFC0093FCB0 /* Products */;
|
||||
@ -451,35 +444,6 @@
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
|
||||
/* Begin XCRemoteSwiftPackageReference section */
|
||||
1BCF943D2DBB62FB008AEBE9 /* XCRemoteSwiftPackageReference "facebook-ios-sdk" */ = {
|
||||
isa = XCRemoteSwiftPackageReference;
|
||||
repositoryURL = "https://github.com/facebook/facebook-ios-sdk";
|
||||
requirement = {
|
||||
kind = upToNextMajorVersion;
|
||||
minimumVersion = 14.1.0;
|
||||
};
|
||||
};
|
||||
/* End XCRemoteSwiftPackageReference section */
|
||||
|
||||
/* Begin XCSwiftPackageProductDependency section */
|
||||
1BCF943E2DBB62FB008AEBE9 /* FacebookBasics */ = {
|
||||
isa = XCSwiftPackageProductDependency;
|
||||
package = 1BCF943D2DBB62FB008AEBE9 /* XCRemoteSwiftPackageReference "facebook-ios-sdk" */;
|
||||
productName = FacebookBasics;
|
||||
};
|
||||
1BCF94402DBB62FB008AEBE9 /* FacebookCore */ = {
|
||||
isa = XCSwiftPackageProductDependency;
|
||||
package = 1BCF943D2DBB62FB008AEBE9 /* XCRemoteSwiftPackageReference "facebook-ios-sdk" */;
|
||||
productName = FacebookCore;
|
||||
};
|
||||
1BCF94422DBB62FB008AEBE9 /* FacebookLogin */ = {
|
||||
isa = XCSwiftPackageProductDependency;
|
||||
package = 1BCF943D2DBB62FB008AEBE9 /* XCRemoteSwiftPackageReference "facebook-ios-sdk" */;
|
||||
productName = FacebookLogin;
|
||||
};
|
||||
/* End XCSwiftPackageProductDependency section */
|
||||
};
|
||||
rootObject = 1DBC40512DA4EDFC0093FCB0 /* Project object */;
|
||||
}
|
||||
|
@ -1,15 +0,0 @@
|
||||
{
|
||||
"originHash" : "ca3cf5f8f83d297b47d2cb0edff3e06f294951e2e06fa55cfc82831103499b2a",
|
||||
"pins" : [
|
||||
{
|
||||
"identity" : "facebook-ios-sdk",
|
||||
"kind" : "remoteSourceControl",
|
||||
"location" : "https://github.com/facebook/facebook-ios-sdk",
|
||||
"state" : {
|
||||
"revision" : "c19607d535864533523d1f437c84035e5fb101cf",
|
||||
"version" : "14.1.0"
|
||||
}
|
||||
}
|
||||
],
|
||||
"version" : 3
|
||||
}
|
@ -93,17 +93,18 @@ class SPHomeViewController: SPHomeChildController {
|
||||
extension SPHomeViewController {
|
||||
|
||||
private func _setupUI() {
|
||||
view.addSubview(logoImageView)
|
||||
// view.addSubview(logoImageView)
|
||||
view.addSubview(searchButton)
|
||||
view.addSubview(self.collectionView)
|
||||
|
||||
logoImageView.snp.makeConstraints { make in
|
||||
make.left.equalToSuperview().offset(16)
|
||||
make.centerY.equalTo(searchButton)
|
||||
}
|
||||
// logoImageView.snp.makeConstraints { make in
|
||||
// make.left.equalToSuperview().offset(16)
|
||||
// make.centerY.equalTo(searchButton)
|
||||
// }
|
||||
|
||||
searchButton.snp.makeConstraints { make in
|
||||
make.left.equalTo(logoImageView.snp.right).offset(6)
|
||||
// make.left.equalTo(logoImageView.snp.right).offset(6)
|
||||
make.left.equalToSuperview().offset(16)
|
||||
make.right.equalToSuperview().offset(-16)
|
||||
make.top.equalToSuperview().offset(kSPStatusbarHeight + 10)
|
||||
}
|
||||
|
@ -72,7 +72,7 @@ extension SPHomeHotSearchView {
|
||||
|
||||
bgView.snp.makeConstraints { make in
|
||||
make.left.equalToSuperview().offset(16)
|
||||
make.centerY.equalToSuperview()
|
||||
make.centerX.equalToSuperview()
|
||||
make.top.equalToSuperview()
|
||||
make.bottom.equalToSuperview()
|
||||
}
|
||||
|
@ -13,7 +13,6 @@ class SPMineHeaderView: UIView {
|
||||
var height: CGFloat = kSPStatusbarHeight + 108
|
||||
|
||||
var stackHeight = 0.0
|
||||
stackHeight += memberView.intrinsicContentSize.height
|
||||
|
||||
if playHistoryArr?.count ?? 0 > 0 {
|
||||
stackHeight += self.stackView.spacing
|
||||
@ -95,32 +94,12 @@ class SPMineHeaderView: UIView {
|
||||
return view
|
||||
}()
|
||||
|
||||
///会员视图
|
||||
private lazy var memberView: SPMineMemberView = {
|
||||
let view = SPMineMemberView()
|
||||
return view
|
||||
}()
|
||||
|
||||
///播放记录
|
||||
private lazy var playHistoryView: SPMinePlayHistoryView = {
|
||||
let view = SPMinePlayHistoryView()
|
||||
return view
|
||||
}()
|
||||
|
||||
private lazy var loginButton: UIButton = {
|
||||
let button = UIButton(type: .custom)
|
||||
button.setTitle("Log in".localized, for: .normal)
|
||||
button.setTitleColor(.colorFFFFFF(), for: .normal)
|
||||
button.titleLabel?.font = .fontMedium(ofSize: 16)
|
||||
button.setBackgroundImage(UIImage(color: .colorFFFFFF(alpha: 0.23)), for: .normal)
|
||||
button.layer.cornerRadius = 15
|
||||
button.layer.masksToBounds = true
|
||||
button.layer.borderWidth = 1
|
||||
button.layer.borderColor = UIColor.colorFFFFFF().cgColor
|
||||
button.addTarget(self, action: #selector(handleLoginButton), for: .touchUpInside)
|
||||
return button
|
||||
}()
|
||||
|
||||
|
||||
override init(frame: CGRect) {
|
||||
super.init(frame: frame)
|
||||
@ -135,8 +114,6 @@ class SPMineHeaderView: UIView {
|
||||
private func updateStackViewLayout() {
|
||||
stackView.removeAllArrangedSubview()
|
||||
|
||||
stackView.addArrangedSubview(memberView)
|
||||
|
||||
if let arr = playHistoryArr, arr.count > 0 {
|
||||
stackView.addArrangedSubview(playHistoryView)
|
||||
}
|
||||
@ -150,14 +127,6 @@ extension SPMineHeaderView {
|
||||
|
||||
}
|
||||
|
||||
@objc private func handleLoginButton() {
|
||||
let vc = SPLoginViewController()
|
||||
let nav = SPNavigationController(rootViewController: vc)
|
||||
nav.modalPresentationStyle = .fullScreen
|
||||
|
||||
self.viewController?.present(nav, animated: true)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
extension SPMineHeaderView {
|
||||
@ -167,7 +136,6 @@ extension SPMineHeaderView {
|
||||
addSubview(nicknameLabel)
|
||||
addSubview(idLabel)
|
||||
addSubview(copyButton)
|
||||
addSubview(loginButton)
|
||||
addSubview(stackView)
|
||||
|
||||
avatarImageView.snp.makeConstraints { make in
|
||||
@ -195,15 +163,6 @@ extension SPMineHeaderView {
|
||||
make.width.equalTo(copyWidth)
|
||||
}
|
||||
|
||||
let loginWidth = (loginButton.currentTitle?.size(font: loginButton.titleLabel?.font ?? .fontRegular(ofSize: 12)).width ?? 0) + 28
|
||||
|
||||
loginButton.snp.makeConstraints { make in
|
||||
make.right.equalToSuperview().offset(-16)
|
||||
make.height.equalTo(30)
|
||||
make.width.equalTo(loginWidth)
|
||||
make.centerY.equalTo(avatarImageView)
|
||||
}
|
||||
|
||||
stackView.snp.makeConstraints { make in
|
||||
make.left.right.equalToSuperview()
|
||||
make.top.equalToSuperview().offset(kSPStatusbarHeight + 108)
|
||||
|
@ -1,107 +0,0 @@
|
||||
//
|
||||
// SPMineMemberNoView.swift
|
||||
// MoviaBox
|
||||
//
|
||||
// Created by 佳尔 on 2025/4/25.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
class SPMineMemberNoView: UIView {
|
||||
|
||||
|
||||
//MARK: UI属性
|
||||
private lazy var iconImageView: UIImageView = {
|
||||
let imageView = UIImageView(image: UIImage(named: "vip_icon_01"))
|
||||
return imageView
|
||||
}()
|
||||
|
||||
private lazy var titleLabel: UILabel = {
|
||||
let label = UILabel()
|
||||
label.text = "You are not a member yet".localized
|
||||
label.textColor = .colorBBB9B3()
|
||||
label.font = .fontMedium(ofSize: 16)
|
||||
label.adjustsFontSizeToFitWidth = true
|
||||
return label
|
||||
}()
|
||||
|
||||
private lazy var activateButton: UIButton = {
|
||||
let button = JXButton(type: .custom)
|
||||
button.leftAnyRightmargin = 13
|
||||
button.setTitle("Activate".localized, for: .normal)
|
||||
button.setTitleColor(.colorFFD791(), for: .normal)
|
||||
button.jx_font = .fontMedium(ofSize: 14)
|
||||
button.layer.cornerRadius = 14
|
||||
button.layer.masksToBounds = true
|
||||
button.layer.borderWidth = 1
|
||||
button.layer.borderColor = UIColor.colorFFD791().cgColor
|
||||
button.backgroundColor = .color262014()
|
||||
return button
|
||||
}()
|
||||
|
||||
private lazy var textLabel1: UILabel = {
|
||||
let label = UILabel()
|
||||
label.font = .fontMedium(ofSize: 12)
|
||||
label.textColor = .colorA69B89()
|
||||
label.text = "Members can enjoy".localized
|
||||
return label
|
||||
}()
|
||||
|
||||
private lazy var textLabel2: UILabel = {
|
||||
let label = UILabel()
|
||||
label.font = .fontMedium(ofSize: 12)
|
||||
label.textColor = .colorFFD28F()
|
||||
label.text = "Unlimited access to all series".localized
|
||||
return label
|
||||
}()
|
||||
|
||||
|
||||
override init(frame: CGRect) {
|
||||
super.init(frame: frame)
|
||||
_setupUI()
|
||||
}
|
||||
|
||||
required init?(coder: NSCoder) {
|
||||
fatalError("init(coder:) has not been implemented")
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
extension SPMineMemberNoView {
|
||||
|
||||
private func _setupUI() {
|
||||
addSubview(iconImageView)
|
||||
addSubview(titleLabel)
|
||||
addSubview(activateButton)
|
||||
addSubview(textLabel1)
|
||||
addSubview(textLabel2)
|
||||
|
||||
iconImageView.snp.makeConstraints { make in
|
||||
make.left.equalToSuperview().offset(12)
|
||||
make.top.equalToSuperview().offset(15)
|
||||
}
|
||||
|
||||
titleLabel.snp.makeConstraints { make in
|
||||
make.left.equalTo(iconImageView.snp.right).offset(4)
|
||||
make.centerY.equalTo(iconImageView)
|
||||
make.right.lessThanOrEqualToSuperview().offset(-12)
|
||||
}
|
||||
|
||||
activateButton.snp.makeConstraints { make in
|
||||
make.right.equalToSuperview().offset(-18)
|
||||
make.bottom.equalToSuperview().offset(-14)
|
||||
make.height.equalTo(28)
|
||||
}
|
||||
|
||||
textLabel1.snp.makeConstraints { make in
|
||||
make.left.equalToSuperview().offset(12)
|
||||
make.bottom.equalTo(textLabel2.snp.top).offset(-kSPMainW(5))
|
||||
}
|
||||
|
||||
textLabel2.snp.makeConstraints { make in
|
||||
make.left.equalTo(textLabel1)
|
||||
make.bottom.equalToSuperview().offset(-kSPMainW(12))
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -1,73 +0,0 @@
|
||||
//
|
||||
// SPMineMemberView.swift
|
||||
// MoviaBox
|
||||
//
|
||||
// Created by 佳尔 on 2025/4/25.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
class SPMineMemberView: UIView {
|
||||
|
||||
|
||||
override var intrinsicContentSize: CGSize {
|
||||
let width = kSPScreenWidth - 32
|
||||
return CGSize(width: width, height: width * bgRatio)
|
||||
}
|
||||
|
||||
///背景图宽高比
|
||||
var bgRatio: CGFloat {
|
||||
let imageSize = bgImageView.image?.size ?? .zero
|
||||
if imageSize == .zero {
|
||||
return 1
|
||||
} else {
|
||||
return imageSize.height / imageSize.width
|
||||
}
|
||||
}
|
||||
|
||||
//MARK: UI属性
|
||||
private lazy var bgImageView: UIImageView = {
|
||||
let imageView = UIImageView()
|
||||
imageView.image = UIImage(named: "member_bg_image_01")
|
||||
return imageView
|
||||
}()
|
||||
|
||||
private lazy var noView: SPMineMemberNoView = {
|
||||
let view = SPMineMemberNoView()
|
||||
return view
|
||||
}()
|
||||
|
||||
override init(frame: CGRect) {
|
||||
super.init(frame: frame)
|
||||
|
||||
_setupUI()
|
||||
}
|
||||
|
||||
required init?(coder: NSCoder) {
|
||||
fatalError("init(coder:) has not been implemented")
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
extension SPMineMemberView {
|
||||
|
||||
private func _setupUI() {
|
||||
addSubview(bgImageView)
|
||||
addSubview(noView)
|
||||
|
||||
let width = kSPScreenWidth - 32
|
||||
bgImageView.snp.makeConstraints { make in
|
||||
make.top.equalToSuperview()
|
||||
make.left.equalToSuperview().offset(16)
|
||||
make.centerX.equalToSuperview()
|
||||
make.height.equalTo(width * bgRatio)
|
||||
}
|
||||
|
||||
noView.snp.makeConstraints { make in
|
||||
make.edges.equalTo(bgImageView)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -1,70 +0,0 @@
|
||||
//
|
||||
// SPLoginManager+Apple.swift
|
||||
// MoviaBox
|
||||
//
|
||||
// Created by 佳尔 on 2025/4/25.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
import AuthenticationServices
|
||||
|
||||
|
||||
extension SPLoginManager {
|
||||
|
||||
///苹果登录
|
||||
func appleSignLogin(completer: ((_ model: SPThirdSignModel?) -> Void)?) {
|
||||
// self.signAppleHandle = completer
|
||||
|
||||
let appleIDProvider = ASAuthorizationAppleIDProvider()
|
||||
let request = appleIDProvider.createRequest()
|
||||
request.requestedScopes = [.fullName, .email]
|
||||
|
||||
let authorizationController = ASAuthorizationController(authorizationRequests: [request])
|
||||
authorizationController.delegate = self
|
||||
authorizationController.presentationContextProvider = self
|
||||
authorizationController.performRequests()
|
||||
}
|
||||
}
|
||||
|
||||
//MARK:-------------- ASAuthorizationControllerDelegate --------------
|
||||
extension SPLoginManager: ASAuthorizationControllerDelegate {
|
||||
|
||||
func authorizationController(controller: ASAuthorizationController, didCompleteWithAuthorization authorization: ASAuthorization) {
|
||||
if let appleIDCredential = authorization.credential as? ASAuthorizationAppleIDCredential {
|
||||
|
||||
let userIdentifier = appleIDCredential.user
|
||||
let fullName = appleIDCredential.fullName
|
||||
let email = appleIDCredential.email
|
||||
|
||||
let model = SPThirdSignModel()
|
||||
model.userID = userIdentifier
|
||||
model.givenName = fullName?.givenName
|
||||
model.familyName = fullName?.familyName
|
||||
model.name = fullName?.nickname
|
||||
model.email = email
|
||||
|
||||
spLog(message: userIdentifier)
|
||||
spLog(message: fullName)
|
||||
spLog(message: email)
|
||||
|
||||
// if let signAppleHandle = signAppleHandle {
|
||||
// signAppleHandle(model)
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
func authorizationController(controller: ASAuthorizationController, didCompleteWithError error: Error) {
|
||||
// if let signAppleHandle = signAppleHandle {
|
||||
// signAppleHandle(nil)
|
||||
// }
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
extension SPLoginManager: ASAuthorizationControllerPresentationContextProviding {
|
||||
|
||||
func presentationAnchor(for controller: ASAuthorizationController) -> ASPresentationAnchor {
|
||||
return SPAPPTool.getKeyWindow()!
|
||||
}
|
||||
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
//
|
||||
// SPLoginManager+Facebook.swift
|
||||
// MoviaBox
|
||||
//
|
||||
// Created by 佳尔 on 2025/4/25.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
//https://developers.facebook.com/docs/facebook-login/ios?checkpoint_src=any
|
||||
extension SPLoginManager {
|
||||
|
||||
|
||||
|
||||
}
|
@ -36,14 +36,6 @@ class SPLoginManager: NSObject {
|
||||
///第三方登录
|
||||
func thirdLogin(type: LoginType, presentingViewController: UIViewController) {
|
||||
|
||||
switch type {
|
||||
case .apple:
|
||||
appleSignLogin { model in
|
||||
|
||||
}
|
||||
default:
|
||||
break
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -257,6 +257,16 @@ extension SPPlayer {
|
||||
self.delegate?.sp_playCompletion?(self)
|
||||
}
|
||||
}
|
||||
|
||||
player.playerReadyToPlay = { (asset, assetURL) in
|
||||
do {
|
||||
try AVAudioSession.sharedInstance().setCategory(.playback)
|
||||
try AVAudioSession.sharedInstance().setActive(true)
|
||||
} catch {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
Before Width: | Height: | Size: 270 KiB |
@ -1,7 +1,7 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "APP图标 (1).jpg",
|
||||
"filename" : "LOGO(MoviaBox).jpg",
|
||||
"idiom" : "universal",
|
||||
"platform" : "ios",
|
||||
"size" : "1024x1024"
|
||||
|
After Width: | Height: | Size: 140 KiB |
@ -5,12 +5,12 @@
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "Frame 1@2x.png",
|
||||
"filename" : "启动页(MoviaBox 1.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "Frame 1@3x.png",
|
||||
"filename" : "启动页(MoviaBox.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
|
Before Width: | Height: | Size: 582 KiB |
Before Width: | Height: | Size: 1.1 MiB |
BIN
MoviaBox/Source/Assets.xcassets/LaunchScreen/launch_screen_bg_image.imageset/启动页(MoviaBox 1.png
vendored
Normal file
After Width: | Height: | Size: 1.0 MiB |
BIN
MoviaBox/Source/Assets.xcassets/LaunchScreen/launch_screen_bg_image.imageset/启动页(MoviaBox.png
vendored
Normal file
After Width: | Height: | Size: 2.3 MiB |
@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "Frame 3@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "Frame 3@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 46 KiB |
@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "Frame 2@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "Frame 2@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 60 KiB |
Before Width: | Height: | Size: 112 KiB |
@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "Frame 4@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "Frame 4@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 9.3 KiB |
@ -5,7 +5,7 @@
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "APP图标 (1).jpg",
|
||||
"filename" : "LOGO(MoviaBox).jpg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
|
BIN
MoviaBox/Source/Assets.xcassets/icon/about_us_logo_icon.imageset/LOGO(MoviaBox).jpg
vendored
Normal file
After Width: | Height: | Size: 6.8 KiB |
@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "Frame 155@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "Frame 155@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.6 KiB |
@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "Group 57@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "Group 57@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 7.3 KiB |
@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "Group 63@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "Group 63@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 114 KiB |
Before Width: | Height: | Size: 239 KiB |
@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "Frame 208@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "Frame 208@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 174 KiB |
Before Width: | Height: | Size: 351 KiB |
@ -20,29 +20,14 @@
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="launch_screen_bg_image" translatesAutoresizingMaskIntoConstraints="NO" id="uTG-8k-wrO">
|
||||
<rect key="frame" x="0.0" y="0.0" width="401" height="852"/>
|
||||
</imageView>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="launch_screen_logo_01" translatesAutoresizingMaskIntoConstraints="NO" id="gda-Oq-H2U">
|
||||
<rect key="frame" x="148" y="297.66666666666669" width="97" height="97"/>
|
||||
</imageView>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="launch_screen_logo_02" translatesAutoresizingMaskIntoConstraints="NO" id="JKU-rM-4Wr">
|
||||
<rect key="frame" x="128" y="412.66666666666669" width="137" height="115.00000000000006"/>
|
||||
</imageView>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="launch_screen_logo_03" translatesAutoresizingMaskIntoConstraints="NO" id="kdp-DS-CSB">
|
||||
<rect key="frame" x="160" y="742" width="73" height="16"/>
|
||||
</imageView>
|
||||
</subviews>
|
||||
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
<constraints>
|
||||
<constraint firstItem="uTG-8k-wrO" firstAttribute="left" secondItem="6Tk-OE-BBY" secondAttribute="left" id="4ng-mZ-sZs"/>
|
||||
<constraint firstItem="gda-Oq-H2U" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" constant="-80" id="9Es-tU-mgS"/>
|
||||
<constraint firstAttribute="right" secondItem="uTG-8k-wrO" secondAttribute="rightMargin" id="CfK-Qy-Jfk"/>
|
||||
<constraint firstItem="kdp-DS-CSB" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="HFP-0p-Z4l"/>
|
||||
<constraint firstItem="uTG-8k-wrO" firstAttribute="top" secondItem="Ze5-6b-2t3" secondAttribute="top" id="P8y-9M-bIf"/>
|
||||
<constraint firstItem="gda-Oq-H2U" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="QnF-bf-aeZ"/>
|
||||
<constraint firstItem="JKU-rM-4Wr" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="TEI-ky-Z9B"/>
|
||||
<constraint firstAttribute="bottom" secondItem="uTG-8k-wrO" secondAttribute="bottom" id="Yhw-eG-r2Q"/>
|
||||
<constraint firstItem="6Tk-OE-BBY" firstAttribute="bottom" secondItem="kdp-DS-CSB" secondAttribute="bottom" constant="60" id="hvq-9f-FQX"/>
|
||||
<constraint firstItem="JKU-rM-4Wr" firstAttribute="top" secondItem="gda-Oq-H2U" secondAttribute="bottom" constant="18" id="jTB-Dj-RBg"/>
|
||||
</constraints>
|
||||
</view>
|
||||
</viewController>
|
||||
@ -53,9 +38,6 @@
|
||||
</scenes>
|
||||
<resources>
|
||||
<image name="launch_screen_bg_image" width="375" height="812"/>
|
||||
<image name="launch_screen_logo_01" width="97" height="97"/>
|
||||
<image name="launch_screen_logo_02" width="137" height="115"/>
|
||||
<image name="launch_screen_logo_03" width="73" height="16"/>
|
||||
<systemColor name="systemBackgroundColor">
|
||||
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
</systemColor>
|
||||
|
@ -50,11 +50,6 @@
|
||||
"Youth Civilization Convention" = "Youth Civilization Convention";
|
||||
"List of Third-Party Sharing of Personal Information" = "List of Third-Party Sharing of Personal Information";
|
||||
"Explicit List of Personal Information Collection" = "Explicit List of Personal Information Collection";
|
||||
"Log in" = "Log in";
|
||||
"You are not a member yet" = "You are not a member yet";
|
||||
"Activate" = "Activate";
|
||||
"Members can enjoy" = "Members can enjoy";
|
||||
"Unlimited access to all series" = "Unlimited access to all series";
|
||||
|
||||
|
||||
"kLoginAgreementText" = "By continuing, you agree to the User Agreement and Privacy Policy";
|
||||
|