iOS 개발 기록

[iOS] D-day앱: 3일차 본문

iOS/앱

[iOS] D-day앱: 3일차

택꽁이 2022. 5. 20. 17:11
728x90

[ D-day 앱 ]

SwiftUI, MVVM, Realm

 

 

[ Recruit 리스트 뷰 :  이름, 날짜, 요일, apply 체크 버튼  ->  날짜 순서대로 정렬 ] 

이전까지 구현한 내용 : 

리스트 뷰, 날짜 순서대로 정렬 

터치시 웹뷰 띄우기  :  WebKit 으로 Link URL 띄우는 걸로 구현 

네비게이션 링크로 서브 뷰로 들어갔을 때에 탭바 안뜨게 하기

Apply 값에 따라 리스트 정렬하여 보여주기. 

채용 일정 수정 및 삭제와 복구 구현 

날짜 지나면 자동으로 정리 

 

 

 

 

 

[ 오늘 구현한 내용 ]

수정한 내역 

 

1. 탭에 따라 네비게이션 아이템이 변경되지 않던 것 수정

 

 

탭에 따라 네비게이션 아이템이 뜨도록 수정 전과 수정 후 

 

 

 

 

Recruit 탭을 다 구현하고 TodoList 항목을 구현하려는데 문제가 생겼다. 다른 뷰의 탭으로 바꿨는데 네비게이션 아이템이 여전히 유지되는 것이었다. 전에 서브뷰에서 탭뷰가 보이지 않게 하기 위해 네비게이션 뷰 안에 탭 뷰를 넣었었는데 그게 문제였다. 

때문에 탭 뷰를 띄울 각각의 뷰에 네비게이션 뷰를 따로 씌워주어야 했다. 

 

 

 

 

네비게이션 뷰와 탭 뷰의 수전 전과 수정 후 상황. 이전에는 탭뷰를 ToolBarItem이 감싸며 탭을 바꿔도 아이템 수정이 안되었다.

 

 

 

이렇게 탭 뷰가 네비게이션 뷰 밖으로 나오게 되면서 저번에 수정했던 서브 뷰에서 탭바가 보이는 문제가 다시 나타났다. 결국 다른 방법으로 서브 뷰에서 탭바를 안보이게 해야 했다. 찾아보니 UIViewController에 접근하여 Tabbar의 size를 수정하거나 할 수 있는 방법이 있었고, 이를 통해 숨길 수 있어서 이 방법을 사용했다. 

 

 

탭바 숨김 관련 링크 :

https://gist.github.com/TuenTuenna/ad16f07645e59ef8e115fda8e0511031

 

SwiftUi - TabView 기본 탭바 숨기기 및 높이 변경

SwiftUi - TabView 기본 탭바 숨기기 및 높이 변경. GitHub Gist: instantly share code, notes, and snippets.

gist.github.com

 

 

 

 

 

2. 탭바 및 네비게이션 색상 변경. 

 

 

 

 

 

 

 

구현한 내용 -

1. 저장한 데이터 수정 기능 : 

 

 

각 데이터들의 Link가 모두 다르니까 이걸 Key값으로 설정했는데, Realm에서 Key값은 수정이 안된댄다 ... 사용해보다가 Link 수정할 일이 많다면 다른 값을 Key로 정해서 Link가 수정 가능하게 바꿔야겠다. 

 

 

 

2. TodoList 

 

 

 

일정추가 : 분류, 이름

일정 뷰 : 날짜 기록, 이름, 체크 구현 

 

 

 

 

추가할 내용 

일정 뷰 : 날짜별, 분류별, 정렬, 꾹 눌러서 다음날로 미루기 

오후 10시, 총 평 기록하도록 알림 

컨텍스트뷰로 복사 누르면 클립보드에 날짜, 이름, 분류 저장하는 기능 

 

 

 

 

 

 

 

 

[ 잘 안풀렸던 것 및 배운 것  ->  블로그에 정리할 내용 ] 

 

1.  WKWebView

 

 

 

WKWebView로 웹뷰를 그릴때에 두번째 이미지와 같이 웹뷰가 안뜨는 현상이 생겼다.

한글이 포함된 URL에서 이런 문제가 발생해 다음 코드를 추가해서 해당 문제를 해결했다. 

 // 한글 url 핸들링할 수 있도록 인코딩
let encodedStr = urlToLoad.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)!

그런데 나중에 확인하니 나중에 보니 일반 웹 링크에서도 발생했다. 이런 저런 링크들을 테스트해보니 같은 사이트여도 "https://www.google.com/" 은 되는데 "google.com" 은 안뜨는 걸 확인할 수 있었다. 이를 보면 https의 문제는 아닌 것 같고 리다이렉트를 할 경우 WKWevbView가 처리를 못하는 것 같은데 아직 명확한 원인을 파악하지 못했다. 

 

파악하는대로 수정해야겠다. 

 

관련 링크 : 

https://code-examples.net/ko/q/2a853fc

 

ios - example - com.apple.WebKit.WebContent 113 오류:지정한 서비스를 찾을 수 없습니다.

 

code-examples.net

 

 

https://velog.io/@wonhee010/WKWebView%EC%97%90%EC%84%9C-redirect-URL-%EC%B2%98%EB%A6%AC%ED%95%98%EA%B8%B0

 

WKWebView에서 redirect URL 처리하기

WKWebView에서의 redirect URL 처리를 알아봤다.

velog.io

 

 

 

 

[github] 

https://github.com/LeeTaek/recruit_Dday_App

'iOS > ' 카테고리의 다른 글

[CI/CD] FastLane  (0) 2023.02.06
[iOS] 성경필사 앱  (0) 2022.06.02
[iOS] D-day앱 : 2일차  (1) 2022.05.12
[iOS] D-day 앱 : 1일차  (0) 2022.05.11
[iOS] D-day 앱  (0) 2022.05.11