diff --git a/iOS-NOTTODO/iOS-NOTTODO.xcodeproj/project.pbxproj b/iOS-NOTTODO/iOS-NOTTODO.xcodeproj/project.pbxproj index 5999c53f..0677c73b 100644 --- a/iOS-NOTTODO/iOS-NOTTODO.xcodeproj/project.pbxproj +++ b/iOS-NOTTODO/iOS-NOTTODO.xcodeproj/project.pbxproj @@ -117,6 +117,8 @@ 3B5F8F8329BF90290063A7F8 /* SituationCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B5F8F8229BF90290063A7F8 /* SituationCollectionViewCell.swift */; }; 3B5F8F8929BF9EFE0063A7F8 /* AddMissionLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B5F8F8829BF9EFE0063A7F8 /* AddMissionLabel.swift */; }; 3B710A5C2A62D4AB00E95620 /* Settings.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 3B710A5B2A62D4AB00E95620 /* Settings.bundle */; }; + 3B80B5D52B7F304D00697250 /* adjust+.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B80B5D42B7F304D00697250 /* adjust+.swift */; }; + 3B80B5D72B7F30E200697250 /* Numbers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B80B5D62B7F30E200697250 /* Numbers.swift */; }; 3B892AB82A2FBBAD00A316BC /* AddMissionService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B892AB72A2FBBAD00A316BC /* AddMissionService.swift */; }; 3B892ABB2A2FBD4C00A316BC /* RecommendSituationResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B892ABA2A2FBD4C00A316BC /* RecommendSituationResponseDTO.swift */; }; 3B892ABE2A2FBDDE00A316BC /* AddMissionAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B892ABD2A2FBDDE00A316BC /* AddMissionAPI.swift */; }; @@ -280,6 +282,8 @@ 3B5F8F8229BF90290063A7F8 /* SituationCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SituationCollectionViewCell.swift; sourceTree = ""; }; 3B5F8F8829BF9EFE0063A7F8 /* AddMissionLabel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddMissionLabel.swift; sourceTree = ""; }; 3B710A5B2A62D4AB00E95620 /* Settings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = Settings.bundle; sourceTree = ""; }; + 3B80B5D42B7F304D00697250 /* adjust+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "adjust+.swift"; sourceTree = ""; }; + 3B80B5D62B7F30E200697250 /* Numbers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Numbers.swift; sourceTree = ""; }; 3B892AB72A2FBBAD00A316BC /* AddMissionService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddMissionService.swift; sourceTree = ""; }; 3B892ABA2A2FBD4C00A316BC /* RecommendSituationResponseDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecommendSituationResponseDTO.swift; sourceTree = ""; }; 3B892ABD2A2FBDDE00A316BC /* AddMissionAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddMissionAPI.swift; sourceTree = ""; }; @@ -705,6 +709,7 @@ 3B11740C2A4B574B0033DDF3 /* CALayer+.swift */, 0943A9F82A53239200614761 /* Bundle+.swift */, 3B03D0D72B0F5EF300302872 /* CGSize+.swift */, + 3B80B5D42B7F304D00697250 /* adjust+.swift */, ); path = Extensions; sourceTree = ""; @@ -1126,6 +1131,7 @@ isa = PBXGroup; children = ( 6CF4706929A71D71008D145C /* Strings.swift */, + 3B80B5D62B7F30E200697250 /* Numbers.swift */, ); path = Literals; sourceTree = ""; @@ -1357,6 +1363,7 @@ 6CF4705B29A68EA9008D145C /* URLConstant.swift in Sources */, 3BD3B5C829B8F82C00D3575B /* AddMissionTextFieldView.swift in Sources */, 3B14518629C618920013DFB4 /* ActionCollectionViewCell.swift in Sources */, + 3B80B5D72B7F30E200697250 /* Numbers.swift in Sources */, 092E04B129BD9C86008A5892 /* MissionDetailCollectionViewCell.swift in Sources */, 6CF4706D29A739D9008D145C /* RecommendViewController.swift in Sources */, 3BC1A27429C9AF500088376B /* MissionHistoryCollectionViewCell.swift in Sources */, @@ -1421,6 +1428,7 @@ 6CF4706529A690E5008D145C /* NetworkBase.swift in Sources */, 099FC98129B3094F005B37E6 /* WeekMonthFSCalendar.swift in Sources */, 6C16016429C5E37D005AE3F5 /* MyInfoAccountStackView.swift in Sources */, + 3B80B5D52B7F304D00697250 /* adjust+.swift in Sources */, 09F6718229CAD86100708725 /* OnboardingCollectionViewCell.swift in Sources */, 6CF4707029A73A15008D145C /* RecommendActionViewController.swift in Sources */, 0943A9F92A53239200614761 /* Bundle+.swift in Sources */, diff --git a/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/CGSize+.swift b/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/CGSize+.swift index 2e66925e..7ae3442f 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/CGSize+.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/CGSize+.swift @@ -9,21 +9,13 @@ import UIKit extension CGSize { - func getDeviceWidth() -> CGFloat { - return UIScreen.main.bounds.width - } - - func getDeviceHeight() -> CGFloat { - return UIScreen.main.bounds.height - } - /// 아이폰 13 미니(width 375)를 기준으로 레이아웃을 잡고, 기기의 width 사이즈를 곱해 대응 값을 구할 때 사용 func convertByWidthRatio(_ convert: CGFloat) -> CGFloat { - return (convert / 375) * getDeviceWidth() + return (convert / 375) * Numbers.width } /// 아이폰 13 미니(height 812)를 기준으로 레이아웃을 잡고, 기기의 height 사이즈를 곱해 대응 값을 구할 때 사용 func convertByHeightRatio(_ convert: CGFloat) -> CGFloat { - return (convert / 812) * getDeviceHeight() + return (convert / 812) * Numbers.height } } diff --git a/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/Design/UIImage+.swift b/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/Design/UIImage+.swift index 46b4f33f..5127d823 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/Design/UIImage+.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/Design/UIImage+.swift @@ -60,6 +60,8 @@ extension UIImage { static var icToastError: UIImage { UIImage(named: "ic_toast_error")! } static var icBell: UIImage { UIImage(named: "ic_bell")! } static var icCircle: UIImage { UIImage(named: "acceptCircle")! } + static var icStarbucks: UIImage { UIImage(named: "ic_starbucks")! } + static var icFeedback: UIImage { UIImage(named: "ic_feedback")! } // image diff --git a/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/UIScreen+.swift b/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/UIScreen+.swift index d919edee..b194fc00 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/UIScreen+.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/UIScreen+.swift @@ -9,6 +9,6 @@ import UIKit extension UIScreen { var hasNotch: Bool { - return !( (UIScreen.main.bounds.width / UIScreen.main.bounds.height) > 0.5 ) + return !( (Numbers.width / Numbers.height) > 0.5 ) } } diff --git a/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/UIViewController+.swift b/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/UIViewController+.swift index 708b738d..cd67869f 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/UIViewController+.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/UIViewController+.swift @@ -10,14 +10,6 @@ import UIKit import SnapKit extension UIViewController { - func getDeviceWidth() -> CGFloat { - return UIScreen.main.bounds.width - } - - func getDeviceHeight() -> CGFloat { - return UIScreen.main.bounds.height - } - /// Constraint 설정 시 노치 유무로 기기를 대응하는 상황에서 사용 func constraintByNotch(_ hasNotch: CGFloat, _ noNotch: CGFloat) -> CGFloat { return UIScreen.main.hasNotch ? hasNotch : noNotch @@ -25,12 +17,12 @@ extension UIViewController { /// 아이폰 13 미니(width 375)를 기준으로 레이아웃을 잡고, 기기의 width 사이즈를 곱해 대응 값을 구할 때 사용 func convertByWidthRatio(_ convert: CGFloat) -> CGFloat { - return (convert / 375) * getDeviceWidth() + return (convert / 375) * Numbers.width } /// 아이폰 13 미니(height 812)를 기준으로 레이아웃을 잡고, 기기의 height 사이즈를 곱해 대응 값을 구할 때 사용 func convertByHeightRatio(_ convert: CGFloat) -> CGFloat { - return (convert / 812) * getDeviceHeight() + return (convert / 812) * Numbers.height } func changeRootViewController(_ viewControllerToPresent: UIViewController) { diff --git a/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/adjust+.swift b/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/adjust+.swift new file mode 100644 index 00000000..1d7e053c --- /dev/null +++ b/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/adjust+.swift @@ -0,0 +1,29 @@ +// +// adjust+.swift +// iOS-NOTTODO +// +// Created by 강윤서 on 2/16/24. +// + +import UIKit + +extension CGFloat { + var adjusted: CGFloat { + let ratio: CGFloat = Numbers.width / 375 + return ratio * CGFloat(self) + } +} + +extension Int { + var adjusted: CGFloat { + let ratio: CGFloat = (Numbers.width) / 375 + return ratio * CGFloat(self) + } +} + +extension Double { + var adjusted: CGFloat { + let ratio: CGFloat = (Numbers.width) / 375 + return ratio * CGFloat(self) + } +} diff --git a/iOS-NOTTODO/iOS-NOTTODO/Global/Literals/Numbers.swift b/iOS-NOTTODO/iOS-NOTTODO/Global/Literals/Numbers.swift new file mode 100644 index 00000000..7dc038a8 --- /dev/null +++ b/iOS-NOTTODO/iOS-NOTTODO/Global/Literals/Numbers.swift @@ -0,0 +1,13 @@ +// +// Numbers.swift +// iOS-NOTTODO +// +// Created by 강윤서 on 2/16/24. +// + +import UIKit + +struct Numbers { + static let width: CGFloat = UIScreen.main.bounds.width + static let height: CGFloat = UIScreen.main.bounds.height +} diff --git a/iOS-NOTTODO/iOS-NOTTODO/Global/Literals/Strings.swift b/iOS-NOTTODO/iOS-NOTTODO/Global/Literals/Strings.swift index fd14969b..8becbab1 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Global/Literals/Strings.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Global/Literals/Strings.swift @@ -47,7 +47,7 @@ struct I18N { /// Achievement static let achievement = "성취" - static let total = "<매달 낫투두 성취 공유하고 선물받자!>\n인스타 @nottodo_official을 확인해주세요 :)" + static let total = "남겨주신 피드백으로\n새로운 기능을 업데이트 할 예정이에요 :)" /// Detail diff --git a/iOS-NOTTODO/iOS-NOTTODO/Presentation/Achievement/ViewControllers/AchievementViewController.swift b/iOS-NOTTODO/iOS-NOTTODO/Presentation/Achievement/ViewControllers/AchievementViewController.swift index 1f998bc4..28b52b0c 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Presentation/Achievement/ViewControllers/AchievementViewController.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Presentation/Achievement/ViewControllers/AchievementViewController.swift @@ -97,13 +97,13 @@ extension AchievementViewController { monthCalendar.snp.makeConstraints { $0.top.equalTo(achievementLabel.snp.bottom).offset(22) $0.directionalHorizontalEdges.equalTo(safeArea).inset(15) - $0.height.equalTo((getDeviceWidth()-30)*1.1) + $0.height.equalTo((Numbers.width-30)*1.1) } statisticsView.snp.makeConstraints { $0.top.equalTo(monthCalendar.snp.bottom) $0.directionalHorizontalEdges.equalTo(safeArea).inset(15) - $0.height.equalTo((getDeviceWidth()-30)*0.6) + $0.height.equalTo((Numbers.width-30)*0.6) $0.bottom.equalTo(scrollView.snp.bottom).inset(20) } } diff --git a/iOS-NOTTODO/iOS-NOTTODO/Presentation/Achievement/ViewControllers/DetailAchievementViewController.swift b/iOS-NOTTODO/iOS-NOTTODO/Presentation/Achievement/ViewControllers/DetailAchievementViewController.swift index 697ffb67..a2bc0d21 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Presentation/Achievement/ViewControllers/DetailAchievementViewController.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Presentation/Achievement/ViewControllers/DetailAchievementViewController.swift @@ -88,7 +88,7 @@ extension DetailAchievementViewController { collectionView.snp.makeConstraints { $0.center.equalTo(safeArea) $0.directionalHorizontalEdges.equalTo(safeArea).inset(15) - $0.height.equalTo(getDeviceWidth()*1.1) + $0.height.equalTo(Numbers.width*1.1) } } diff --git a/iOS-NOTTODO/iOS-NOTTODO/Presentation/Achievement/ViewControllers/StatisticsView.swift b/iOS-NOTTODO/iOS-NOTTODO/Presentation/Achievement/ViewControllers/StatisticsView.swift index 4b56838f..3e0214f5 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Presentation/Achievement/ViewControllers/StatisticsView.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Presentation/Achievement/ViewControllers/StatisticsView.swift @@ -38,7 +38,7 @@ extension StatisticsView { private func setUI() { totalImage.do { - $0.image = .icSNS + $0.image = .icFeedback } titleLabel.do { @@ -54,13 +54,13 @@ extension StatisticsView { addSubviews(totalImage, titleLabel) totalImage.snp.makeConstraints { - $0.top.equalToSuperview().offset(69) + $0.top.equalToSuperview().offset(18.adjusted) $0.centerX.equalToSuperview() - $0.size.equalTo(CGSize(width: 63, height: 51)) + $0.size.equalTo(127.adjusted) } titleLabel.snp.makeConstraints { - $0.top.equalTo(totalImage.snp.bottom).offset(26) + $0.top.equalTo(totalImage.snp.bottom).offset(6.adjusted) $0.centerX.equalToSuperview() } } diff --git a/iOS-NOTTODO/iOS-NOTTODO/Presentation/AddMission/Cells/DateCollectionViewCell.swift b/iOS-NOTTODO/iOS-NOTTODO/Presentation/AddMission/Cells/DateCollectionViewCell.swift index dab64b92..213e292c 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Presentation/AddMission/Cells/DateCollectionViewCell.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Presentation/AddMission/Cells/DateCollectionViewCell.swift @@ -23,7 +23,6 @@ final class DateCollectionViewCell: UICollectionViewCell, AddMissionMenu { private lazy var tomorrow = Calendar.current.date(byAdding: .day, value: 1, to: today)! private var dateList: [String] = [] private var missionType: MissionType? - private var deviceWidth = UIScreen.main.bounds.width // MARK: - UI Components @@ -57,8 +56,7 @@ final class DateCollectionViewCell: UICollectionViewCell, AddMissionMenu { func setFoldState(_ state: FoldState) { fold = state - let deviceWidth = UIScreen.main.bounds.width - let cellWidth = deviceWidth * (345/375) + let cellWidth = Numbers.width * (345/375) let cellHeight = cellWidth * (470/345) missionCellHeight?(state == .folded ? 54 : cellHeight) updateUI() diff --git a/iOS-NOTTODO/iOS-NOTTODO/Presentation/AddMission/ViewControllers/AddMissionViewController.swift b/iOS-NOTTODO/iOS-NOTTODO/Presentation/AddMission/ViewControllers/AddMissionViewController.swift index 295494a4..543b50a2 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Presentation/AddMission/ViewControllers/AddMissionViewController.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Presentation/AddMission/ViewControllers/AddMissionViewController.swift @@ -216,7 +216,7 @@ extension AddMissionViewController { let layout = UICollectionViewFlowLayout() layout.scrollDirection = .vertical layout.minimumLineSpacing = 14 - layout.footerReferenceSize = CGSize(width: getDeviceWidth(), height: 319) + layout.footerReferenceSize = CGSize(width: Numbers.width, height: 319) return layout } @@ -382,7 +382,7 @@ extension AddMissionViewController: UICollectionViewDataSource { extension AddMissionViewController: UICollectionViewDelegateFlowLayout { func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { - let cellWidth: CGFloat = UIScreen.main.bounds.width - 40 + let cellWidth: CGFloat = Numbers.width - 40 let height = heightList[indexPath.row] return CGSize(width: cellWidth, height: height) diff --git a/iOS-NOTTODO/iOS-NOTTODO/Presentation/Home/ViewControllers/DetailCalendarViewController.swift b/iOS-NOTTODO/iOS-NOTTODO/Presentation/Home/ViewControllers/DetailCalendarViewController.swift index 0091f8d6..42921fef 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Presentation/Home/ViewControllers/DetailCalendarViewController.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Presentation/Home/ViewControllers/DetailCalendarViewController.swift @@ -118,7 +118,7 @@ extension DetailCalendarViewController { monthCalendar.snp.makeConstraints { $0.centerY.equalTo(safeArea) $0.directionalHorizontalEdges.equalTo(safeArea).inset(15) - $0.height.equalTo((getDeviceWidth()-30)*1.2) + $0.height.equalTo((Numbers.width-30)*1.2) } subLabel.snp.makeConstraints { diff --git a/iOS-NOTTODO/iOS-NOTTODO/Presentation/Home/ViewControllers/HomeDeleteViewController.swift b/iOS-NOTTODO/iOS-NOTTODO/Presentation/Home/ViewControllers/HomeDeleteViewController.swift index 92f94bf1..72b94a45 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Presentation/Home/ViewControllers/HomeDeleteViewController.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Presentation/Home/ViewControllers/HomeDeleteViewController.swift @@ -64,7 +64,7 @@ extension HomeDeleteViewController { deleteModalView.snp.makeConstraints { $0.directionalHorizontalEdges.equalTo(safeArea).inset(52) - $0.height.equalTo((getDeviceWidth() - 104)*1.09) + $0.height.equalTo((Numbers.width - 104)*1.09) $0.center.equalTo(safeArea) } } diff --git a/iOS-NOTTODO/iOS-NOTTODO/Presentation/Onboarding/ViewControllers/FifthOnboardingViewController.swift b/iOS-NOTTODO/iOS-NOTTODO/Presentation/Onboarding/ViewControllers/FifthOnboardingViewController.swift index 6c89b37f..9ba60cbc 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Presentation/Onboarding/ViewControllers/FifthOnboardingViewController.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Presentation/Onboarding/ViewControllers/FifthOnboardingViewController.swift @@ -96,7 +96,7 @@ extension FifthOnboardingViewController { } gradientView.snp.makeConstraints { $0.bottom.equalTo(nextButton.snp.top).offset(-90) - $0.top.equalTo(safeArea).offset(getDeviceHeight()*0.5) + $0.top.equalTo(safeArea).offset(Numbers.height*0.5) $0.directionalHorizontalEdges.equalTo(safeArea) } } diff --git a/iOS-NOTTODO/iOS-NOTTODO/Presentation/Onboarding/ViewControllers/FourthOnboardingViewController.swift b/iOS-NOTTODO/iOS-NOTTODO/Presentation/Onboarding/ViewControllers/FourthOnboardingViewController.swift index 4f2f5c5e..f38c3c7a 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Presentation/Onboarding/ViewControllers/FourthOnboardingViewController.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Presentation/Onboarding/ViewControllers/FourthOnboardingViewController.swift @@ -83,7 +83,7 @@ extension FourthOnboardingViewController { } gradientView.snp.makeConstraints { $0.bottom.equalTo(nextButton.snp.top) - $0.top.equalTo(safeArea).offset(getDeviceHeight()*0.5) + $0.top.equalTo(safeArea).offset(Numbers.height*0.5) $0.directionalHorizontalEdges.equalTo(safeArea) } } diff --git a/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/IC/ic_feedback.imageset/Contents.json b/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/IC/ic_feedback.imageset/Contents.json new file mode 100644 index 00000000..cf776af3 --- /dev/null +++ b/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/IC/ic_feedback.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "ic_feedback.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "ic_feedback@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "ic_feedback@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/IC/ic_feedback.imageset/ic_feedback.png b/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/IC/ic_feedback.imageset/ic_feedback.png new file mode 100644 index 00000000..0ffb5fb8 Binary files /dev/null and b/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/IC/ic_feedback.imageset/ic_feedback.png differ diff --git a/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/IC/ic_feedback.imageset/ic_feedback@2x.png b/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/IC/ic_feedback.imageset/ic_feedback@2x.png new file mode 100644 index 00000000..4a8d8872 Binary files /dev/null and b/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/IC/ic_feedback.imageset/ic_feedback@2x.png differ diff --git a/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/IC/ic_feedback.imageset/ic_feedback@3x.png b/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/IC/ic_feedback.imageset/ic_feedback@3x.png new file mode 100644 index 00000000..ce5ced0c Binary files /dev/null and b/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/IC/ic_feedback.imageset/ic_feedback@3x.png differ