Skip to content

Commit

Permalink
Merge pull request #94 from KCY-Fit-a-Pet/feat/93
Browse files Browse the repository at this point in the history
๐ŸŽจ pet ๋ฉค๋ฒ„ ๊ด€๋ฆฌ UI ๊ตฌํ˜„ (์ถ”ํ›„ ์ˆ˜์ • ํ•„์š”)
  • Loading branch information
psychology50 authored Feb 24, 2024
2 parents caa3ef5 + 8a457f3 commit e5c0d01
Show file tree
Hide file tree
Showing 24 changed files with 842 additions and 93 deletions.
48 changes: 48 additions & 0 deletions fit-a-pet-client/fit-a-pet-client.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,13 @@
4A2974A82B7FD5D100587AF8 /* CustomPanModalView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A2974A72B7FD5D100587AF8 /* CustomPanModalView.swift */; };
4A2974AA2B7FD70700587AF8 /* TotalFolderPanModalVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A2974A92B7FD70700587AF8 /* TotalFolderPanModalVC.swift */; };
4A2D55D52B84C87F0079FDC7 /* NoRecordDataView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A2D55D42B84C87F0079FDC7 /* NoRecordDataView.swift */; };
4A2D55D72B8663FE0079FDC7 /* MemberManagementVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A2D55D62B8663FE0079FDC7 /* MemberManagementVC.swift */; };
4A2D55DA2B866EAC0079FDC7 /* ManagerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A2D55D92B866EAC0079FDC7 /* ManagerView.swift */; };
4A2D55DC2B866ECB0079FDC7 /* UserDataView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A2D55DB2B866ECB0079FDC7 /* UserDataView.swift */; };
4A2D55DE2B86734D0079FDC7 /* MemberView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A2D55DD2B86734D0079FDC7 /* MemberView.swift */; };
4A2D55E02B8674520079FDC7 /* MemberTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A2D55DF2B8674520079FDC7 /* MemberTableViewCell.swift */; };
4A2D55E22B87B7170079FDC7 /* InviteMemberVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A2D55E12B87B7170079FDC7 /* InviteMemberVC.swift */; };
4A2D55E42B87B86C0079FDC7 /* CustomSearchTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A2D55E32B87B86C0079FDC7 /* CustomSearchTextField.swift */; };
4A3D7BFA2B4F120900E3BBF8 /* CareDateCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A3D7BF92B4F120900E3BBF8 /* CareDateCollectionViewCell.swift */; };
4A3D7BFD2B4F1F4500E3BBF8 /* CategoryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A3D7BFC2B4F1F4500E3BBF8 /* CategoryView.swift */; };
4A3D7BFF2B4F231500E3BBF8 /* ScheduleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A3D7BFE2B4F231500E3BBF8 /* ScheduleView.swift */; };
Expand Down Expand Up @@ -126,6 +133,9 @@
4AF0C8522B24E0F000A45EEE /* TableViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AF0C8512B24E0F000A45EEE /* TableViewModel.swift */; };
4AF0C8542B24E1A800A45EEE /* MyInfoTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AF0C8532B24E1A800A45EEE /* MyInfoTableViewCell.swift */; };
4AF0C8562B25A93500A45EEE /* AlarmTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AF0C8552B25A93500A45EEE /* AlarmTableViewCell.swift */; };
4AF2409C2B88BDB000E224AE /* InviteWaitingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AF2409B2B88BDB000E224AE /* InviteWaitingView.swift */; };
4AF2409E2B88C25000E224AE /* MemberManagementVCMethod.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AF2409D2B88C25000E224AE /* MemberManagementVCMethod.swift */; };
4AF240A02B88C45D00E224AE /* InviteMemberTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AF2409F2B88C45D00E224AE /* InviteMemberTableViewCell.swift */; };
4AFBBBAF2B66DDFF00166643 /* ScheduleRegistrationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AFBBBAE2B66DDFF00166643 /* ScheduleRegistrationManager.swift */; };
5F3351521D53411AE096AE11 /* Pods_fit_a_pet_client.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AB1D3740B0C5A796E5D597B2 /* Pods_fit_a_pet_client.framework */; };
/* End PBXBuildFile section */
Expand Down Expand Up @@ -168,6 +178,13 @@
4A2974A72B7FD5D100587AF8 /* CustomPanModalView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomPanModalView.swift; sourceTree = "<group>"; };
4A2974A92B7FD70700587AF8 /* TotalFolderPanModalVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TotalFolderPanModalVC.swift; sourceTree = "<group>"; };
4A2D55D42B84C87F0079FDC7 /* NoRecordDataView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoRecordDataView.swift; sourceTree = "<group>"; };
4A2D55D62B8663FE0079FDC7 /* MemberManagementVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MemberManagementVC.swift; sourceTree = "<group>"; };
4A2D55D92B866EAC0079FDC7 /* ManagerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManagerView.swift; sourceTree = "<group>"; };
4A2D55DB2B866ECB0079FDC7 /* UserDataView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserDataView.swift; sourceTree = "<group>"; };
4A2D55DD2B86734D0079FDC7 /* MemberView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MemberView.swift; sourceTree = "<group>"; };
4A2D55DF2B8674520079FDC7 /* MemberTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MemberTableViewCell.swift; sourceTree = "<group>"; };
4A2D55E12B87B7170079FDC7 /* InviteMemberVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InviteMemberVC.swift; sourceTree = "<group>"; };
4A2D55E32B87B86C0079FDC7 /* CustomSearchTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomSearchTextField.swift; sourceTree = "<group>"; };
4A3D7BF92B4F120900E3BBF8 /* CareDateCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CareDateCollectionViewCell.swift; sourceTree = "<group>"; };
4A3D7BFC2B4F1F4500E3BBF8 /* CategoryView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CategoryView.swift; sourceTree = "<group>"; };
4A3D7BFE2B4F231500E3BBF8 /* ScheduleView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScheduleView.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -255,6 +272,9 @@
4AF0C8512B24E0F000A45EEE /* TableViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TableViewModel.swift; sourceTree = "<group>"; };
4AF0C8532B24E1A800A45EEE /* MyInfoTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyInfoTableViewCell.swift; sourceTree = "<group>"; };
4AF0C8552B25A93500A45EEE /* AlarmTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlarmTableViewCell.swift; sourceTree = "<group>"; };
4AF2409B2B88BDB000E224AE /* InviteWaitingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InviteWaitingView.swift; sourceTree = "<group>"; };
4AF2409D2B88C25000E224AE /* MemberManagementVCMethod.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MemberManagementVCMethod.swift; sourceTree = "<group>"; };
4AF2409F2B88C45D00E224AE /* InviteMemberTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InviteMemberTableViewCell.swift; sourceTree = "<group>"; };
4AFBBBAE2B66DDFF00166643 /* ScheduleRegistrationManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScheduleRegistrationManager.swift; sourceTree = "<group>"; };
A8CCF3AF04A53824C263132B /* Pods-fit-a-pet-client.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-fit-a-pet-client.debug.xcconfig"; path = "Target Support Files/Pods-fit-a-pet-client/Pods-fit-a-pet-client.debug.xcconfig"; sourceTree = "<group>"; };
AB1D3740B0C5A796E5D597B2 /* Pods_fit_a_pet_client.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_fit_a_pet_client.framework; sourceTree = BUILT_PRODUCTS_DIR; };
Expand Down Expand Up @@ -319,6 +339,19 @@
path = SignUpVC;
sourceTree = "<group>";
};
4A2D55D82B866E8E0079FDC7 /* MemberManagementView */ = {
isa = PBXGroup;
children = (
4A2D55D92B866EAC0079FDC7 /* ManagerView.swift */,
4A2D55DB2B866ECB0079FDC7 /* UserDataView.swift */,
4A2D55DD2B86734D0079FDC7 /* MemberView.swift */,
4A2D55DF2B8674520079FDC7 /* MemberTableViewCell.swift */,
4AF2409F2B88C45D00E224AE /* InviteMemberTableViewCell.swift */,
4AF2409B2B88BDB000E224AE /* InviteWaitingView.swift */,
);
path = MemberManagementView;
sourceTree = "<group>";
};
4A3D7BFB2B4F1F2000E3BBF8 /* PetCareView */ = {
isa = PBXGroup;
children = (
Expand Down Expand Up @@ -476,6 +509,7 @@
4ABE58592A85E8C100E22C5F /* View */ = {
isa = PBXGroup;
children = (
4A2D55D82B866E8E0079FDC7 /* MemberManagementView */,
4A8DCC952B81333D003E35E8 /* CustomView */,
4A0150352B7690530069AF20 /* RecordView */,
4A0150302B740FF80069AF20 /* PetProfileEditView */,
Expand Down Expand Up @@ -535,6 +569,7 @@
4A0C7F042B5C549D0097D753 /* MainVCMethod.swift */,
4A4B085B2B77D2DF00959683 /* RecordVCMethod.swift */,
4A0CC35F2B810147004A9D77 /* NotificationName.swift */,
4AF2409D2B88C25000E224AE /* MemberManagementVCMethod.swift */,
);
path = Extension;
sourceTree = "<group>";
Expand Down Expand Up @@ -580,6 +615,7 @@
4A0750D32B0892B900281A4C /* CustomNavigationBar.swift */,
4A8662D72B262DA200D8DDE8 /* CustomEditNavigationBar.swift */,
4A2974A52B7FCD7E00587AF8 /* CustomCategoryStackView.swift */,
4A2D55E32B87B86C0079FDC7 /* CustomSearchTextField.swift */,
);
path = UIElement;
sourceTree = "<group>";
Expand Down Expand Up @@ -611,6 +647,8 @@
children = (
4AE293F02B6FFA2800920C0B /* PetDetailProfileVC.swift */,
4A01502C2B7404270069AF20 /* PetProfileEditVC.swift */,
4A2D55D62B8663FE0079FDC7 /* MemberManagementVC.swift */,
4A2D55E12B87B7170079FDC7 /* InviteMemberVC.swift */,
);
path = PetProfileVC;
sourceTree = "<group>";
Expand Down Expand Up @@ -829,6 +867,7 @@
4AD354292AAF7F55004A47B3 /* RecordVC.swift in Sources */,
4A0C7F072B5C568D0097D753 /* PetCareHeaderView.swift in Sources */,
4AEDCE012B4C718E0043E872 /* PetCareRegistVC.swift in Sources */,
4A2D55E02B8674520079FDC7 /* MemberTableViewCell.swift in Sources */,
4A828D8F2B619447006AE70A /* CareCustomCheckPopupVC.swift in Sources */,
4A8662D42B26299F00D8DDE8 /* EditUserPwVC.swift in Sources */,
4A0CC35E2B80C56C004A9D77 /* RecordTotalFolderManager.swift in Sources */,
Expand All @@ -837,6 +876,7 @@
4A9088772AC1681B000C7878 /* MainPetCollectionViewCell.swift in Sources */,
4A8B9B4A2AD443E6009236EC /* ApiStatusLogger.swift in Sources */,
4A2974AA2B7FD70700587AF8 /* TotalFolderPanModalVC.swift in Sources */,
4A2D55DA2B866EAC0079FDC7 /* ManagerView.swift in Sources */,
4A01502D2B7404270069AF20 /* PetProfileEditVC.swift in Sources */,
4A0750D22B07D44000281A4C /* UploadPetPhotoVC.swift in Sources */,
4ABB93402B7BDCB900E1EA73 /* ButtonStackView.swift in Sources */,
Expand All @@ -846,8 +886,11 @@
4A8B9B4C2AD443EE009236EC /* MyLogger.swift in Sources */,
4A0150342B7545660069AF20 /* BirthdayView.swift in Sources */,
4A3D7BFD2B4F1F4500E3BBF8 /* CategoryView.swift in Sources */,
4A2D55E22B87B7170079FDC7 /* InviteMemberVC.swift in Sources */,
4AF240A02B88C45D00E224AE /* InviteMemberTableViewCell.swift in Sources */,
4ACDD4A52AD9B3DC00CD8F1A /* InputGenderVC.swift in Sources */,
4AD354152AACD390004A47B3 /* LoginVC.swift in Sources */,
4AF2409E2B88C25000E224AE /* MemberManagementVCMethod.swift in Sources */,
4A4B085F2B77D89300959683 /* CreateFolderVC.swift in Sources */,
4A15F2162AA8B4CA0098F2F7 /* InputNickVC.swift in Sources */,
4A4B08582B77AE3200959683 /* RecordListView.swift in Sources */,
Expand All @@ -872,9 +915,11 @@
4A0750D82B0D130F00281A4C /* PetRegistrationManager.swift in Sources */,
4AA999922A8485A500E495FA /* AppDelegate.swift in Sources */,
4AC6384B2B7A9F72006DB9B5 /* RecordCustomCheckPopupVC.swift in Sources */,
4A2D55D72B8663FE0079FDC7 /* MemberManagementVC.swift in Sources */,
4A9936582B642B7E00B7B21A /* CustomVerticalView.swift in Sources */,
4A1B5E492B79476A00A076A7 /* PetImageCollectionViewCell.swift in Sources */,
4ABE53002B5AD92F000EA41D /* PetDataManager.swift in Sources */,
4A2D55DE2B86734D0079FDC7 /* MemberView.swift in Sources */,
4A88D6172B53ABD2003A2D0F /* PetCareRegistrationManager.swift in Sources */,
4A4B085C2B77D2DF00959683 /* RecordVCMethod.swift in Sources */,
4A2D55D52B84C87F0079FDC7 /* NoRecordDataView.swift in Sources */,
Expand All @@ -896,17 +941,20 @@
4A0150392B76919B0069AF20 /* FolderTableViewCell.swift in Sources */,
4AF0C8542B24E1A800A45EEE /* MyInfoTableViewCell.swift in Sources */,
4A4BFDCA2AD26B0F0062BDB8 /* RegistrationManager.swift in Sources */,
4A2D55E42B87B86C0079FDC7 /* CustomSearchTextField.swift in Sources */,
4A54A0B92B584D110024B940 /* PetProfileView.swift in Sources */,
4A54A0B62B5849230024B940 /* PetCollectionViewCell.swift in Sources */,
4AD354202AAF7CD6004A47B3 /* MainVC.swift in Sources */,
4A0C7EFF2B5C29090097D753 /* MainPetListView.swift in Sources */,
4A2440712B374C0F0086D2AB /* CryptoHelpers.swift in Sources */,
4A2D55DC2B866ECB0079FDC7 /* UserDataView.swift in Sources */,
4A99365A2B65309F00B7B21A /* CalendarDateView.swift in Sources */,
4A73392E2B68097D00216FB5 /* CalendarScheduleView.swift in Sources */,
4ACDD4A72AD9B3F600CD8F1A /* CheckCareVC.swift in Sources */,
4A8662D62B2629F500D8DDE8 /* EditUserNameVC.swift in Sources */,
4A40561F2B52FE7900A95891 /* TimeAttackPanModalTabelViewCell.swift in Sources */,
4AE293F62B713E9A00920C0B /* PetDetailCareListView.swift in Sources */,
4AF2409C2B88BDB000E224AE /* InviteWaitingView.swift in Sources */,
4A54A0BB2B5858440024B940 /* PetCareListView.swift in Sources */,
4AE293F32B70041100920C0B /* PetProfileUtils.swift in Sources */,
4A01502F2B7407880069AF20 /* ImagePickerUtil.swift in Sources */,
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"colors" : [
{
"color" : {
"color-space" : "srgb",
"components" : {
"alpha" : "1.000",
"blue" : "0.000",
"green" : "0.000",
"red" : "0.824"
}
},
"idiom" : "universal"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"color" : {
"color-space" : "srgb",
"components" : {
"alpha" : "1.000",
"blue" : "0.000",
"green" : "0.000",
"red" : "0.824"
}
},
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
//
// MemberManagementVCMethod.swift
// fit-a-pet-client
//
// Created by ์ตœํฌ์ง„ on 2/23/24.
//

import UIKit

protocol MemberListTableViewMethodDelegate: AnyObject {
func pushViewController(_ viewController: UIViewController, animated: Bool)
}

class MemberListTableViewMethod: NSObject, UITableViewDataSource, UITableViewDelegate, MemberTableViewCellDelegate {
weak var delegate: MemberListTableViewMethodDelegate?

func didTapChangeName() {
print("???")
let nextVC = EditUserNameVC(title: "์ด๋ฆ„ ๋ณ€๊ฒฝํ•˜๊ธฐ")
delegate?.pushViewController(nextVC, animated: true)
}

private var userDataArray: [String] = ["User 1", "User 2", "User 3"]

// MARK: - UITableViewDataSource methods

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return userDataArray.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "MemberTableViewCell", for: indexPath) as! MemberTableViewCell
cell.userDataView.profileUserName.text = userDataArray[indexPath.row]
cell.delegate = self
return cell
}

// MARK: - UITableViewDelegate methods

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 76
}
}

class MemberInviteListTableViewMethod: NSObject, UITableViewDataSource, UITableViewDelegate {

private var userDataArray: [String] = ["User 1", "User 2", "User 3"]

// MARK: - UITableViewDataSource methods

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return userDataArray.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "InviteMemberTableViewCell", for: indexPath) as! InviteMemberTableViewCell
cell.userDataView.profileUserName.text = userDataArray[indexPath.row]
return cell
}

// MARK: - UITableViewDelegate methods

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 76
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,6 @@ class CustomEditNavigationBar: UIViewController {
switch (currentTitle) {
case "๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ":
return editUserPwAPI()
case "์ด๋ฆ„ ๋ณ€๊ฒฝํ•˜๊ธฐ":
return editUserNameAPI()
case "์ผ€์–ด ๋“ฑ๋กํ•˜๊ธฐ":
return careCategoryCheckAPI()
case "":
Expand Down Expand Up @@ -95,24 +93,6 @@ extension CustomEditNavigationBar{
}
}

func editUserNameAPI(){
AuthorizationAlamofire.shared.editUserName("name", userName){ [self]
result in
switch result {
case .success(let data):
if let responseData = data {
let object = try?JSONSerialization.jsonObject(with: responseData, options: []) as? NSDictionary
guard let jsonObject = object else {return}
print("respose jsonData: \(jsonObject)")
UserDefaults.standard.set(userName, forKey: "name")
self.navigationController?.popToRootViewController(animated: true)
}
case .failure(let error):
print("Error: \(error)")
}
}
}

func careCategoryCheckAPI(){

var selectedPetIds: [Int] = []
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ class CustomNavigationBar: UIViewController {
navigationController?.popToViewController(loginVC, animated: true)
}
} else {
navigationController?.popToRootViewController(animated: true)
navigationController?.popViewController(animated: true)
}

}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@

import UIKit
class CustomSearchTextField: UITextField {

let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 20, height: 20))
let iconContainerView: UIView = UIView()

var placeholderText: String? {
didSet {
self.placeholder = placeholderText
}
}

override init(frame: CGRect) {
super.init(frame: frame)
commonInit()
}

required init?(coder: NSCoder) {
super.init(coder: coder)
commonInit()
}

private func commonInit() {
imageView.image = UIImage(named: "search")
iconContainerView.addSubview(imageView)

self.font = .systemFont(ofSize: 14)
self.layer.cornerRadius = 8
self.backgroundColor = UIColor(named: "Gray1")
self.leftView = iconContainerView
self.leftViewMode = .always

imageView.snp.makeConstraints { make in
make.leading.equalTo(iconContainerView).offset(10)
make.centerY.equalTo(iconContainerView)
}

iconContainerView.snp.makeConstraints { make in
make.width.equalTo(38)
make.height.equalTo(20)
}
}
}
Loading

0 comments on commit e5c0d01

Please sign in to comment.