전체 글 6

[SwiftUI] Non-constant range: not an integer range

사이드 프로젝트 개발하는 도중, 서버에서 받아온 유저들의 랭킹 리스트들을 스크롤뷰에서 보일 수 있게 하는 과정에 Non-constant range: not an integer range 라는 경고문을 맞딱드렸다. homeViewModel의 totalRank를 RankingView에서 rankingList로 받아와 아래의 ForEach문에서 rankingList.indices 를 통해 인덱스로 접근하여 해당 배열을 순회하도록 했다.해당 경고가 어떤 의미의 경고인지 알아보고, 어떻게 하면 경고를 없앨 수 있을지 알아보자! 왜 ForEach(rankingList.indices)를 사용했을까?이유는 단순했다. 해당 스크롤뷰의 각 row에는 유저의 현재 등수, 유저의 닉네임, 점수 총 3개를 보여줘야 했다.이때 ..

iOS/SwiftUI 2024.06.12

[HIG-Widgets] Teams앱 UX 분석을 통한 HIG 정리 - 5주차 스터디

MC2 마지막주 이슈로 인해 4주차 스터디는 쉬어가고 5주차 스터디가 진행되었다.5주차 스터디의 앱은 Teams였고, 평소 아카데미에서 정보를 공유하는 커뮤니티로 모두 해당 앱을 사용한다.Teams앱을 사용하면서 불편했던 점이나 궁금했던 점에 대해 알아보고, 그에 대한 해결책을 HIG를 통해 찾아보는 시간을 가졌다!Pain Pointpain point 라기 보단 .. 팀즈의 위젯 기능이 있는지 살펴보다가 오 있네? 근데 약간 이상하다 싶어서 델고 와봤다. 다른 어플들처럼 특정 테스크를 보여주거나 액션을 유도하는 것이 아닌 시간과 이모지?를 보여주는 위젯이었다.참고로 팀즈에서 잠금화면에서의 위젯은 없었다.더보기다른 앱 위젯 예시크기는 작은 정사각형, 직사각형, 큰 정사각형 3개로 구성되어있었지만 보여주는 ..

[HIG-Sheets] 아고다 앱 UX 분석을 통한 HIG 정리 - 3주차 스터디

Pain Point숙소 하이라이트에 대한 각 내용들이 나열되어있고 내용 오른쪽에 information 버튼이 있어서 클릭했더니 별 내용도 없는 게 바텀 시트로 구현이 되어있었다.별 내용도 없는데 왜 굳이 바텀시트로 구현해서 유저가 2번 클릭하도록 했을까? .. 별로 도움도 되는 내용도 아님 ..그리고 바텀시트 높이도 너무 짧아서 생각보다 읽기가 너무 불편했다.X 버튼의 위치가 오른쪽이 아닌 왼쪽에 있다. 우리가 익숙한 위치는 오른쪽이라고 생각했는데? 그래서 난 바텀시트를 내릴 때 저 X 버튼을 사용하지 않고 뒷 배경화면을 클릭해서 내려가도록 했다. Sheets시트는 사람들이 현재 컨텍스트와 밀접하게 관련된 범위가 지정된 작업을 수행하는 데 도움이 됩니다. A sheet helps people perfor..

[HIG-Tabbars] 맥도날드 딜리버리 앱 UX 분석을 통한 HIG 정리 - 2주차 스터디

Pain Point맨 처음 홈 탭을 보면 크으게 주문조회 버튼과 주문하기 버튼이 있다. 주문 조회 버튼을 누르면 사용자의 주문 내역을 조회할 수 있고 주문하기 버튼을 누르면 메뉴를 볼 수 있는 화면으로 넘어간다. 첫번째, 홈 탭의 주문 조회 버튼과 주문 조회 탭의 기능이 똑같다. 화면 구성도 똑같기 때문에 주문 조회 버튼을 누르면 그냥 주문 조회 탭이 selected되었다는 게 나와야 하는데 그렇지 않고 두개가 다른 뷰처럼 작동한다.두번째, 주문하기 버튼도 마찬가지로 메뉴 탭과 같은 기능을 한다. 다행히도 해당 기능은 메뉴 탭이 selected 되었다는 게 표시는 된다.결론적으로 내가 띠용했던 점은 홈 탭에 엄청 크게 주문 조회, 주문하기 버튼이 있는데 굳이 탭바에도 같은 기능을 하는 탭을 넣었어야만 했..

[HIG-Toggle] 코레일톡 UX 분석을 통한 HIG 정리 - 1주차 스터디

현재 나는 애플 디벨로퍼 아카데미에서 나 포함 6명의 러너들과 함께 "히그히구"라는 HIG 분석 스터디를 진행하고 있다.매주마다 하나의 앱을 정해서 각자 느꼈던 Pain Point를 정리하고 HIG 문서를 통해 개선점을 찾고 있다.스터디 1주차는 코레일톡 앱을 선정했고 나는 Toggle에 대해 정리했다.  Pain Point첫번째,할인,정기권 탭을 클릭하면 코레일에서 제공해주는 특가 상품 목록을 볼 수 있다.이때, 토글 버튼을 통해 사용자가 구매 가능한 상품만 볼 수 있도록 하였는데 토글을 selected 한 뒤 다시 unselected를 하면 토글이 갑자기 사라진다….. 개어이없음!사라질거면 대체 왜 토글 버튼을 둔 것일까 ..?두번째,사용자가 구매 가능하지 않은 상품은 버튼이 활성화되지 않다는 걸 나..

[UIKit] ImageView.contentMode에 대해 알아보자!

자꾸 까먹는 나를 위해 .. !ImageView의 contentMode에 있는 scaleAspectFit, scaleAspectFill, scaleToFill에 대해 정리해보고자 한다!scaleAspectFit- 이미지 비율을 유지하면서 뷰의 사이즈에 맞게 이미지를 늘리는 옵션.- 이미지가 뷰를 꽉 채우지 못해서 남는 부분은 투명 처리가 된다. scaleAspectFill- 이미지 비율을 유지하면서 뷰의 사이즈에 맞게 이미지를 꽉 채우는 옵션.- 이미지의 어떤 부분은 잘려서 보일 수도 있다. scaleToFill- 전체 이미지가 다 나올 수 있도록 필요하다면 비율을 깨뜨리면서 뷰의 사이즈에 맞게 이미지를 꽉 채우는 옵션.- 이미지는 다 나오나 이미지의 비율이 깨질 수 있다.  정리 비율 유지화면 꽉 채움..

iOS/UIKit 2024.05.29