[✨] 상단 정보 뷰 & 최상단 바 생성
|
@ -294,6 +294,7 @@
|
|||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = NO;
|
||||
CODE_SIGN_ENTITLEMENTS = AcaMate/AcaMate.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 1.0.0.0;
|
||||
|
@ -302,13 +303,16 @@
|
|||
ENABLE_PREVIEWS = YES;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
INFOPLIST_FILE = AcaMate/Info.plist;
|
||||
INFOPLIST_KEY_CFBundleDisplayName = "아카데미메이트";
|
||||
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.education";
|
||||
INFOPLIST_KEY_NSUserTrackingUsageDescription = "최적화된 개인 간 연결과 맞춤 헤택을 위해 사용합니다.";
|
||||
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
|
||||
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
|
||||
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
|
||||
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
|
||||
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
|
||||
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
|
||||
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen.st;
|
||||
INFOPLIST_KEY_UIStatusBarStyle = UIStatusBarStyleLightContent;
|
||||
INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
|
||||
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
|
@ -332,6 +336,7 @@
|
|||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = NO;
|
||||
CODE_SIGN_ENTITLEMENTS = AcaMate/AcaMate.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 1.0.0.0;
|
||||
|
@ -340,13 +345,16 @@
|
|||
ENABLE_PREVIEWS = YES;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
INFOPLIST_FILE = AcaMate/Info.plist;
|
||||
INFOPLIST_KEY_CFBundleDisplayName = "아카데미메이트";
|
||||
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.education";
|
||||
INFOPLIST_KEY_NSUserTrackingUsageDescription = "최적화된 개인 간 연결과 맞춤 헤택을 위해 사용합니다.";
|
||||
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
|
||||
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
|
||||
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
|
||||
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
|
||||
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
|
||||
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
|
||||
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen.st;
|
||||
INFOPLIST_KEY_UIStatusBarStyle = UIStatusBarStyleLightContent;
|
||||
INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
|
||||
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
|
|
|
@ -18,12 +18,12 @@ struct IntroView: View {
|
|||
VStack(spacing: 0) {
|
||||
Spacer()
|
||||
.frame(height: 100)
|
||||
Image(.Icon.appIcon)
|
||||
Image(.Logo.appIcon)
|
||||
.resizable()
|
||||
.frame(width: 200, height: 200)
|
||||
Spacer()
|
||||
HStack(spacing: 4) {
|
||||
Image(.Icon.teamIcon)
|
||||
Image(.Logo.teamIcon)
|
||||
.resizable()
|
||||
.frame(width: 24, height: 24)
|
||||
Text("STEIN")
|
||||
|
|
|
@ -23,10 +23,13 @@ struct LoginView: View {
|
|||
|
||||
var body: some View {
|
||||
VStack(spacing: 0) {
|
||||
Image(.Icon.appIcon)
|
||||
Spacer().frame(height: 100)
|
||||
Image(.Logo.appIcon)
|
||||
.resizable()
|
||||
.frame(width: 200, height: 200)
|
||||
.padding(.top, 80)
|
||||
// .padding(.top, 80)
|
||||
.padding(.bottom, 84)
|
||||
|
||||
/// 앱 아이콘 이미지
|
||||
VStack(spacing: 16) {
|
||||
Button {
|
||||
|
@ -34,16 +37,20 @@ struct LoginView: View {
|
|||
appVM.isLoading.toggle()
|
||||
loginAction(type: .Kakao)
|
||||
} label: {
|
||||
makeButton(image: Image(.Icon.kakaoIcon),color: Color(.Other.yellow), "카카오 계정으로 시작하기")
|
||||
makeButton(image: Image(.Logo.kakaoIcon),color: Color(.Other.yellow), "카카오 계정으로 시작하기")
|
||||
}
|
||||
|
||||
Button {
|
||||
// MARK: - TODO, 애플 계정 로그인 구현
|
||||
naviState.set(act: .MOVE, path: .Main)
|
||||
} label: {
|
||||
makeButton(image: Image(.Icon.appleIcon), color: Color(.Text.black), "애플 계정으로 시작하기")
|
||||
makeButton(image: Image(.Logo.appleIcon), color: Color(.Text.black), "애플 계정으로 시작하기")
|
||||
}
|
||||
}
|
||||
.padding([.leading,.trailing], 28)
|
||||
|
||||
Spacer(minLength: 1)
|
||||
|
||||
|
||||
/*
|
||||
VStack(spacing: 16) {
|
||||
|
@ -96,7 +103,6 @@ struct LoginView: View {
|
|||
/// APPLE 로그인 버튼
|
||||
}
|
||||
*/
|
||||
.padding([.leading,.trailing], 28)
|
||||
|
||||
}
|
||||
.onAppear {
|
||||
|
|
|
@ -18,7 +18,7 @@ struct CircleBtnView: View {
|
|||
let action: VOID_TO_VOID?
|
||||
|
||||
var backColor: Color {isReverse ? Color(.Second.light) : Color(.Normal.normal)}
|
||||
var tintColor: Color {isSelected ? Color(.Second.normal) : Color(.Disable.normal)}
|
||||
var foreColor: Color {isSelected ? Color(.Second.normal) : Color(.Disable.normal)}
|
||||
|
||||
var body: some View {
|
||||
Button{
|
||||
|
@ -29,12 +29,12 @@ struct CircleBtnView: View {
|
|||
self.image
|
||||
.resizable()
|
||||
.renderingMode(.template)
|
||||
.foregroundStyle(self.tintColor)
|
||||
.foregroundStyle(self.foreColor)
|
||||
.frame(width: 24, height: 24)
|
||||
if let title = self.title {
|
||||
Text("\(title)")
|
||||
.font(.nps(font: .bold, size: 6))
|
||||
.tint(self.tintColor)
|
||||
.foregroundStyle(self.foreColor)
|
||||
}
|
||||
}
|
||||
.padding()
|
||||
|
|
|
@ -13,6 +13,7 @@ struct SimpleBtnView: View {
|
|||
let font: Font?
|
||||
let width: CGFloat
|
||||
let height: CGFloat
|
||||
var isUsable: Bool = true
|
||||
|
||||
let action: VOID_TO_VOID?
|
||||
|
||||
|
@ -34,6 +35,7 @@ struct SimpleBtnView: View {
|
|||
.frame(width: width, height: height)
|
||||
}
|
||||
}
|
||||
.disabled(isUsable)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
104
AcaMate/1. View/12. Main/122. DashBoard/TopProfileView.swift
Normal file
|
@ -0,0 +1,104 @@
|
|||
//
|
||||
// TopProfileView.swift
|
||||
// AcaMate
|
||||
//
|
||||
// Created by TAnine on 2/5/25.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct TopProfileView: View {
|
||||
var userType: UserType = .ETC
|
||||
var childrenList: [String] = ["name1", "name2", "name3"]
|
||||
var academyName: String = "Academy' NAME"
|
||||
var myName: String = "Name"
|
||||
|
||||
@State var childNum: Int = 0
|
||||
|
||||
var body: some View {
|
||||
VStack(spacing: 0){
|
||||
VStack(alignment: .center, spacing: 0) {
|
||||
HStack(spacing: 0) {
|
||||
SimpleBtnView(title: nil,image: Image(.Icon.market),font: nil,
|
||||
width: 40, height: 40) {
|
||||
printLog("TEST")
|
||||
}
|
||||
Spacer(minLength: 1)
|
||||
SimpleBtnView(title: nil, image: Image(.Icon.notificationSET), font: nil,
|
||||
width: 40, height: 40) {
|
||||
printLog("TEST")
|
||||
}
|
||||
} /// 최상단 버튼 Stack
|
||||
ZStack{
|
||||
Circle()
|
||||
.stroke(Color(.Second.normal) ,lineWidth: 4)
|
||||
.frame(width: 200, height: 200)
|
||||
switch self.userType {
|
||||
case .Student:
|
||||
// MARK: TO-DO
|
||||
// 학생일때 표시하는거 어떻게 할 건지 좀 더 고민을 해보자
|
||||
Image(.Icon.face)
|
||||
.resizable()
|
||||
.frame(width: 150, height: 150)
|
||||
case .Parent:
|
||||
Text("학부모")
|
||||
.font(.nps(font: .bold, size: 48))
|
||||
.foregroundStyle(Color(.Second.normal))
|
||||
case .Teacher:
|
||||
Text("선생님")
|
||||
.font(.nps(font: .bold, size: 48))
|
||||
.foregroundStyle(Color(.Second.normal))
|
||||
case .Admin:
|
||||
Text("관리자")
|
||||
.font(.nps(font: .bold, size: 48))
|
||||
.foregroundStyle(Color(.Second.normal))
|
||||
case .Employee:
|
||||
Text("직원")
|
||||
.font(.nps(font: .bold, size: 48))
|
||||
.foregroundStyle(Color(.Second.normal))
|
||||
case .ETC:
|
||||
Text("방문객")
|
||||
.font(.nps(font: .bold, size: 48))
|
||||
.foregroundStyle(Color(.Second.normal))
|
||||
}
|
||||
} /// 중앙 원형 Stack
|
||||
.padding([.top, .bottom], 40)
|
||||
VStack(alignment: .center, spacing: 8) {
|
||||
Text("\(self.academyName)")
|
||||
.frame(alignment: .center)
|
||||
.multilineTextAlignment(.center)
|
||||
.font(.nps(font: .bold, size: 36))
|
||||
Text("\(self.myName)")
|
||||
.multilineTextAlignment(.center)
|
||||
.frame(alignment: .center)
|
||||
.font(.nps(size: 18))
|
||||
.foregroundStyle(Color(.Text.detail))
|
||||
}
|
||||
} /// 위쪽 VStack
|
||||
.padding(EdgeInsets(top: 24, leading: 24, bottom: 12, trailing: 24))
|
||||
|
||||
HStack(spacing: 0) {
|
||||
ForEach(Array(childrenList.enumerated()),id: \.offset){ index, name in
|
||||
CircleBtnView(title: "\(name)", image: Image(.Icon.face),
|
||||
// MARK: TO-DO
|
||||
/// 이 바인딩 이거 잘 작동 되는지 후에 확인 할것
|
||||
isSelected: Binding(
|
||||
get: { self.childNum == index },
|
||||
set: { _ in self.childNum = index }
|
||||
), isReverse: false) {
|
||||
self.childNum = index
|
||||
}
|
||||
if index != childrenList.count-1 {
|
||||
Spacer()
|
||||
}
|
||||
}
|
||||
} /// 아래쪽 HStack
|
||||
.padding([.leading, .trailing], 24)
|
||||
}
|
||||
.fullDrawView(.Other.cell)
|
||||
}
|
||||
}
|
||||
|
||||
#Preview {
|
||||
TopProfileView()
|
||||
}
|
|
@ -16,7 +16,7 @@ struct BottomView: View {
|
|||
|
||||
var body: some View {
|
||||
HStack(spacing: 0){
|
||||
Spacer(minLength: 1)
|
||||
Spacer(minLength: 1).frame(width: 24)
|
||||
CircleBtnView(title: "홈", image: Image(.BottomBar.home),
|
||||
isSelected: $isHomeSelected, isReverse: false,
|
||||
action: {
|
||||
|
@ -52,7 +52,7 @@ struct BottomView: View {
|
|||
btnAllFalse()
|
||||
isEtcSelected.toggle()
|
||||
})
|
||||
Spacer(minLength: 1)
|
||||
Spacer(minLength: 1).frame(width: 24)
|
||||
}
|
||||
.padding([.top],12)
|
||||
.background {
|
||||
|
|
|
@ -9,23 +9,35 @@ import SwiftUI
|
|||
|
||||
struct TopView: View {
|
||||
@State var titleName: String = ""
|
||||
@State var changeLogo: Bool = false
|
||||
@State var tailLogo: Bool = false
|
||||
|
||||
var myType: UserType = .Teacher
|
||||
|
||||
var body: some View {
|
||||
HStack(alignment: .center, spacing: 0) {
|
||||
SimpleBtnView(title: nil, image: Image(.TopBar.face), font: nil, width: 40, height: 40, action: {
|
||||
ZStack {
|
||||
TypeIcon(myType: myType)
|
||||
.opacity(changeLogo ? 0 : 1)
|
||||
|
||||
})
|
||||
SimpleBtnView(title: nil, image: Image(.Icon.back), font: nil, width: 40, height: 40) {
|
||||
|
||||
}
|
||||
.opacity(changeLogo ? 1 : 0)
|
||||
}
|
||||
.padding(EdgeInsets(top: 12, leading: 24, bottom: 12, trailing: 12))
|
||||
|
||||
Text("\(titleName)")
|
||||
.tint(Color(.Text.disabled))
|
||||
.foregroundStyle(Color(.Text.detail))
|
||||
.font(.nps(font: .bold, size: 20))
|
||||
Spacer()
|
||||
|
||||
SimpleBtnView(title: nil, image: Image(.TopBar.face), font: nil, width: 40, height: 40, action: {
|
||||
SimpleBtnView(title: nil, image: Image(.Icon.face), font: nil, width: 40, height: 40)
|
||||
{
|
||||
|
||||
})
|
||||
.hidden()
|
||||
}
|
||||
.padding(EdgeInsets(top: 12, leading: 12, bottom: 12, trailing: 24))
|
||||
.opacity(tailLogo ? 0 : 1)
|
||||
|
||||
}
|
||||
.background {
|
||||
|
@ -38,6 +50,27 @@ struct TopView: View {
|
|||
}
|
||||
}
|
||||
|
||||
struct TypeIcon: View {
|
||||
var myType: UserType
|
||||
|
||||
var body: some View {
|
||||
if self.myType == .Student {
|
||||
SimpleBtnView(title: nil, image: Image(.Icon.face), font: nil, width: 40, height: 40, isUsable: false) {
|
||||
|
||||
}
|
||||
} else {
|
||||
SimpleBtnView(title: "\(self.myType.rawValue)", image: Image(.Icon.face),
|
||||
font: .nps(font: .bold, size: 24), width: 40, height: 40, isUsable: false) {
|
||||
|
||||
}.background {
|
||||
Circle()
|
||||
.strokeBorder(Color(.Second.normal) ,lineWidth: 4)
|
||||
.frame(width: 40, height: 40)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#Preview {
|
||||
TopView(titleName: "Name")
|
||||
}
|
||||
|
|
17
AcaMate/2. Model/User Type.swift
Normal file
|
@ -0,0 +1,17 @@
|
|||
//
|
||||
// UserType.swift
|
||||
// AcaMate
|
||||
//
|
||||
// Created by TAnine on 2/5/25.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
enum UserType: String {
|
||||
case Student = "S"
|
||||
case Parent = "P"
|
||||
case Teacher = "T"
|
||||
case Admin = "A"
|
||||
case Employee = "E"
|
||||
case ETC = "V"
|
||||
}
|
Before Width: | Height: | Size: 587 B After Width: | Height: | Size: 587 B |
Before Width: | Height: | Size: 684 B After Width: | Height: | Size: 684 B |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 535 B After Width: | Height: | Size: 535 B |
12
AcaMate/6. Resources/Assets.xcassets/Image Folder/Icon/Notification OFF.imageset/Contents.json
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "Notification OFF.png",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 1.1 KiB |
12
AcaMate/6. Resources/Assets.xcassets/Image Folder/Icon/Notification ON.imageset/Contents.json
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "Notification ON.png",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
AcaMate/6. Resources/Assets.xcassets/Image Folder/Icon/Notification ON.imageset/Notification ON.png
vendored
Normal file
After Width: | Height: | Size: 1.4 KiB |
12
AcaMate/6. Resources/Assets.xcassets/Image Folder/Icon/Notification SET.imageset/Contents.json
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "Notification SET.png",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 945 B |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 261 B After Width: | Height: | Size: 261 B |
Before Width: | Height: | Size: 844 B After Width: | Height: | Size: 844 B |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 120 KiB After Width: | Height: | Size: 120 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 587 B After Width: | Height: | Size: 587 B |
Before Width: | Height: | Size: 684 B After Width: | Height: | Size: 684 B |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 535 B After Width: | Height: | Size: 535 B |
BIN
AcaMate/6. Resources/Images/Icon/Notification OFF.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
AcaMate/6. Resources/Images/Icon/Notification ON.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
AcaMate/6. Resources/Images/Icon/Notification SET.png
Normal file
After Width: | Height: | Size: 945 B |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 261 B After Width: | Height: | Size: 261 B |
Before Width: | Height: | Size: 844 B After Width: | Height: | Size: 844 B |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 811 KiB After Width: | Height: | Size: 811 KiB |
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 120 KiB After Width: | Height: | Size: 120 KiB |
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="23504" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="23504" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="Z5j-31-33C">
|
||||
<device id="retina6_12" orientation="portrait" appearance="light"/>
|
||||
<dependencies>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23506"/>
|
||||
|
@ -39,7 +39,7 @@
|
|||
<stackView opaque="NO" contentMode="scaleToFill" alignment="center" spacing="4" translatesAutoresizingMaskIntoConstraints="NO" id="3Cc-mO-qI9">
|
||||
<rect key="frame" x="159" y="711.66666666666663" width="75.333333333333314" height="24"/>
|
||||
<subviews>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Icon/Team_Icon" translatesAutoresizingMaskIntoConstraints="NO" id="HZ9-M4-4km">
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Logo/Team_Icon" translatesAutoresizingMaskIntoConstraints="NO" id="HZ9-M4-4km">
|
||||
<rect key="frame" x="0.0" y="0.0" width="24" height="24"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="24" id="jTz-mU-7gD"/>
|
||||
|
@ -54,7 +54,7 @@
|
|||
</label>
|
||||
</subviews>
|
||||
</stackView>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Icon/App_Icon" translatesAutoresizingMaskIntoConstraints="NO" id="yVp-20-rR1">
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Logo/App_Icon" translatesAutoresizingMaskIntoConstraints="NO" id="yVp-20-rR1">
|
||||
<rect key="frame" x="96.666666666666686" y="159" width="200" height="200"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="200" id="USS-fT-KDG"/>
|
||||
|
@ -83,8 +83,8 @@
|
|||
</scene>
|
||||
</scenes>
|
||||
<resources>
|
||||
<image name="Icon/App_Icon" width="1024" height="1024"/>
|
||||
<image name="Icon/Team_Icon" width="144" height="144"/>
|
||||
<image name="Logo/App_Icon" width="1024" height="1024"/>
|
||||
<image name="Logo/Team_Icon" width="144" height="144"/>
|
||||
<namedColor name="Normal/Normal">
|
||||
<color red="0.92199999094009399" green="0.875" blue="0.82400000095367432" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</namedColor>
|
||||
|
|