- Total
목록분류 전체보기 (209)
꿈꾸는리버리
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ezGCpK/btsHtfPPmOw/4lIFuse1b7prkCMD4uNWRk/img.png)
지난 한 달동안 해당 공모전에 참여하며.. 느꼈던 점들에 대한 회고입니다..! 사실 제목을 [2024 서울 열린데이터광장 공공데이터 활용 창업경진대회] 라고 했지만, 그게 아니라 [여깄장학]이라고 붙이고 싶었는데 참았다.. 열린데이터광장 메인데이터분류,데이터검색,데이터활용data.seoul.go.kr 한 달 동안 달리기만 했던 공모전이 끝이 났다. 애플 아카데미에서 만난 인연, 동아리에서 만난 인연과 함께 한 달동안 매주 2회 정기 회의, 그리고 정말 수도 없이 많았던... 모각코... 이 과정을 함께 달려간 우리 팀원들 킹왕짱... 한 분 한 분께 배운 점이 참 많았던... 오랜만의 애정 가득한 프로젝트였다. 🔮 참여 계기 사실 Cherish 개발 때문에 바쁠 것 같아서 고민을 하긴 했지만, 3가..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/calHWW/btsG5luYk9M/jdescoaECGj2Fuyk5yuOI0/img.png)
오늘은 iOS에서 local Notification를 띄우는 방법에 대한 공부를 했다.그동안 어려울 거라고 생각하고 미루고만 있었는데, 해보니까 생각보다 안 어렵더라구요..? 조금은 허무한 감이 있어서 과거에 아무 것도 모르고 어려울 거라고 생각했던 제가 부끄러웠고, 역시... 안 해본 곳, 안 가본 곳은 더 크고 무섭게 느껴지는 것 같다...다음번에는 server 통신이 필요한 Notification까지! 섭렵해보자구 ~~ ㅎㅎ1️⃣ Notification 허용해주세요 구하기import SwiftUIimport UserNotificationsclass NotificationManager { static let instance = NotificationManager() // Singleton ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/pvkXV/btsGVL7Kda5/c11ypAKpRWIx99QwDxBif1/img.png)
아래와 같이 함수명에 커서를 두고 해당 키를 누르면 아래와 같이 자동으로 함수 설명이 뜨고, 아래와 같이 확인할 수 있게 된다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bJ2U46/btsGTfA4Cby/cHrISHQst9Y4NxgJF9EWn0/img.png)
🔧 문제 상황바야흐로.. 때는... 디자이너가 font system을 만들어줬던... 그 어느날.... 사실 Cherish는 빠른 MVP를 위해서 LineHeight를 100%로 해달라고 디자이너한테... 부탁했었는데, 이번 프로젝트때는 이미 많은 디자인이 완료된 후에 아.. 맞다...라는 생각이 들었고... 그렇게 Line height라는 녀석을 이제는 피할 수 없게 되었다. ⚠️ Cherish의 경우에는 한 줄짜리 디자인에서는 100%로 맞추고, 여러 줄의 경우에는 lineSpacing으로 했었음💬 고민 Point1️⃣ LineHeight의 개념 푸하! 일단 디자이너가 사용하는 lineHeight에 대해 알아보자! 위 그림과 같이 말 그대로 한 line에 들어가는 font의 height를 나타낸..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bHCbDf/btsGMJqf6uE/pZkUJYa9YXTj4MxnucIqbk/img.jpg)
GeometryReader를 계속 제대로 공부해야지.. 해야지... 하다가 이번 기회에 확.. 제대로 개념을 잡고 넘어가기 위해 공부를 했다. 🌷 GeometryReader 란 ? 어려운 말들을 많이 써놨지만,, 내가 공부하면서는 GeometryReader란 GeometryReader로 감싸고 있는 뷰 안의 위치를 다양한 방법으로 제공해주는 View라고 정의를 했다. 🌷 GeometryReader가 나오게 된 배경 이거는 애플의 공식 이야기는 아니고, 여러 칼럼들을 찾아보고 정리한 개인적인.. 의견입니다. 왜 필요한지를 알아야 적재적소할 수 있을 것 같아서 정리해봅니다. 인게이지에 도움이 되시길! 1️⃣ UIScreen.main.bounds의 한계 UIScreen.main.bounds 같은 경우에는 기..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/le6mo/btsGLA1rG8C/cq79KaDYUv2IpUJrkysXqk/img.png)
🔧 문제 상황 아니 제가... 버전 왔갔하면서 깃을 좀 만지긴 했는데요,,, 빌드하니까 계속 아래의 에러가 발생했다. 클린빌드도 했는데, Multiple commands produce '/Users/gaeunlee/Library/Developer/Xcode/DerivedData/janghakhere-ayagrmkioaolcsepnpapjhepsbnx/Build/Intermediates.noindex/janghakhere.build/Debug-iphoneos/janghakhere.build/Objects-normal/arm64/SearchScholarshipViewModel.stringsdata' 💬 고민 Point Multiple commands produce ( 여러 명령어가 생산되었다..) 라면서 경..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b8iKHp/btsGJqijOHl/lB1zhlxI3EKVZUhlHAFhbK/img.gif)
프로젝트하다가 사용하게 된 슬롯머신 구현!!! 생각보다 재밌었고,, 재밌었고 뿌듯했다 !! ㅎㅎ,, 🍀 결과물 lastRolledMachineCount은 슬롯을 돌릴 숫자이다. 이건 선호에 맞게 바꿔서 쓰면 된다. 그리고 finalNumberList는 마지막에 보여주고자 하는 숫자의 리스트이다. 나는 [3,4,5]로 돌렸는데, 만약에 [1,5,2,6,4]를 넣으면 5개의 박스가 돌아가고 마지막에 1,5,2,6,4 순서대로 초록박스가 공개된다! 🍀 고민 Point 처음에 어떻게 만들지.. 할 때는 ScrollView가 생각났다. ScrollView로 구현하고 위 아래를 막아서 일부만 보여주면 될 것 같다는 생각. 그래서 ScrollView에서 버튼을 눌렀을 때 ScrollView가 스크롤 되게 구현했다...
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/uLjYB/btsGIeoMn9j/vPP31hb12ojVqptj11qma0/img.png)
이렇게 Bindin이 있는 경우... struct GrayLineTextFieldView: View { @Binding var text: String var body: some View { TextField(text: $text) { Text("제목") } } } 프리뷰에서 보려고 하면,, 이렇게 .constant로 @Binding이지만, 값이 안 변하게 주로 했었는데 #Preview { GrayLineTextFieldView(text: .constant(""), placeHolder: "이름") } 문득 Preview에서도 Binding이 되는 걸 보고 싶어서.. #Preview { struct BindingViewExamplePreviewContainer : View { @State var text:..