분류 전체보기
-
iOS 버전 사용률 현황참고 사이트 2024. 10. 14. 12:44
이런 것도 있구나. https://iosref.com/ios-usage iOS RefQuick reference tables, tools, and links for iOS developers. iOS Ref has iOS compatibility tables, a beautiful Swift cheatsheet, a hex code to UIColor converter, device screen resolution tables, and more.iosref.com
-
동영상 슬라이더바UI & UX 이야기 2024. 6. 28. 16:49
앨범App을 개발하면서 AVKit으로 동영상 플레이어를 구현했었다. 개발한 지 꽤 돼서 정확히 기억은 안 나지만 AVKit에서 기본으로 제공하는 Playback 컨트롤러가 있었던 것으로 기억한다. 검색해보고 기억을 떠올려 보니 아래와 같은 형태였던 거 같다. 당시 사용해보고 마음에 안 들었던 점은첫째, 정지 버튼이 없다는 것둘째, 터치에 의한 슬라이더 바의 이동 기준점셋째, "Playback(재생 관련 컨트롤)" 버튼들이 분산되어 있다는 것대충 이정도였던 것 같다. 그 중에서도 둘째인 터치에 의한 슬라이더 바의 이동 기준점에 대한 생각이 조금 강해서 직접 만들어서 구현했었다.(지금은 조금 고심 중이다.) 말을 쪼~끔 어렵게 했는데구첵적으로 말하면, 1, 슬라이더가 사용자의 손가락 위치를 따라..
-
[Image Transition] 썸네일 -> 디테일 샷재미있는 UI (Swift) 2024. 6. 10. 16:06
예전부터 해보고 싶던 이미지 디테일 트랜지션 SwiftUI로는 도전해보고 간단히 넘어갔는데, 이번에 Swift로 만든 앱을 업데이트하면서 도전해보기로 했다. 포인트를 잡고 넘어가보자.1. 이건 Modal View다.자주 사용하는 명령어 present(detailView, animation: true)로 디테일뷰를 띄우되, custom으로 효과를 준 거다.2. 그럼 커스텀을 하기 위해 해야 하는 것은 무엇이냐,2-1. 최종 화면을 UIViewController로 작성한다.2-2. 기본 모달뷰 대신 UIViewcontroller를 띄워줄 커스텀 모달뷰를 UIPresentationController로 작성해 준다.2-3. 그리고 만들어 주고 싶은 애니메이션을 UIViewControllerAnimatedTr..
-
[TextField] placeholder Animaition재미있는 UI (Swift) 2024. 6. 6. 20:06
텍스트필드 사용하다 문제가 있어서 검색하던 중 재미있는 UI를 발견했다. 원 글은 아래 스택오버플로 질답이다.(https://stackoverflow.com/questions/50773786/how-to-add-a-label-to-textfield-class-or-animate-placeholder) 간단히 포인트를 짚고 가자면1. UITextField와 UILabel를 UIView에 담기(만약 UILabel을 텍스트 필드 안에서만 움직일 거라면 UIView 없이 UILabel을 UITextField에 넣어도 될 것 같다.)2. UITextfiledDelegate를 이용해 커서가 작동하는 시점, 끝나는 시점에 이벤트 발생시키기3. CGAffineTransForm으로 스케일 애니메이션 주기 1. ..
-
[개인정보처리방침] 멀티 리스트개인정보처리 방침 2023. 11. 13. 15:12
('https://skyotter.tistory.com' 이하'awesomethingKing')은 「개인정보 보호법」 제30조에 따라 정보주체의 개인정보를 보호하고 이와 관련한 고충을 신속하고 원활하게 처리할 수 있도록 하기 위하여 다음과 같이 개인정보 처리방침을 수립·공개합니다. ○ 이 개인정보처리방침은 2023년 11월 1부터 적용됩니다. 제1조 (개인정보의 처리 목적) ('https://skyotter.tistory.com' 이하 'awesomethingKing')은 다음의 목적을 위하여 개인정보를 처리합니다. 처리하고 있는 개인정보는 다음의 목적 이외의 용도로는 이용되지 않으며 이용 목적이 변경되는 경우에는 「개인정보 보호법」..
-
Github--Repository--하위 폴더 개별 연동하기Hello, Git 2023. 6. 14. 10:54
git 버전에 따라 방법이 다를 수 있음. 아래 방법은 git 2.25 버전 이후에 해당하는 방법임. (큰 도움이 되었습니다, 감사합니다!) https://velog.io/@deadkim/Git-git-repository-하위의-특정-경로만-clone-push [Git] git repository 하위의 특정 경로만 clone & push (2022-06-16수정 git 2.25 ver 이후) git을 사용하면서 하나의 repository에 여러 하위 폴더들이 각각 업무에 맞게 사용하는 것들이 있다. 그래서 자신의 맞는 업무의 경로(폴더)만 가져오고 push까지 하는 방법을 쓴다 velog.io 개요부터 정리해보자. [G : github 작업 / M : mac 작업] 1. [G] github에서 레파지토..
-
2. 타입캐스팅 : UpCasting과 DownCasting정리/Study 2023. 6. 7. 10:59
1. 사용 목적 서로 상속 관계에 있는 class가 자식 클래스로, 또는 부모 클래스로 타입을 전환하기 위해 사용함 2. 캐스팅 시점 - 업캐스팅 : 컴파일 시 캐스팅함 - 다운캐스팅 : 런타임 시 캐스팅함 3. 캐스팅 결과 - 업캐스팅 : 컴파일되면 항상 성공함 - 다운캐스팅 : 컴파일되도 런타임 시 실패할 수 있음 3. 캐스팅 방법 - as의 사용 - 업캐스팅 : 항상 성공하므로 as만 사용 - 다운캐스팅 : 실패할 수 있으므로 as! 또는 as?를 사용 as! : 캐스팅 실패 시 런타임 에러가 발생함 as? : 캐스팅 실패 시 nil 반환함
-
1. Extension의 사용정리/Study 2023. 6. 7. 10:35
Extension의 사용처 - class, struct, enum Extension의 사용 목적 1. 해당 사용처에 이미 존재하는 class / struct /. enum을 추가 상속 2. 함수 / 프라퍼티(연산 프라퍼티만 가능함) / 생성자(convenience init만 가능하며 소멸자는 불가능함)의 추가 3. 코드의 분리 / 정리 Extension 참고 1. struct의 경우 memerwise initializer(기본 생성자)가 존재하는데, struct 본체에 initializer를 추가할 경우, 이 기본 생성자가 사라지지만 extenstion에 작성하면 사라지지 않는다. 2. where절을 사용하여, extension의 적용을 조정할 수 있다.