본문 바로가기

ios30

[HIG] Components - Onscreen keyboards Onscreen Keyboards iOS, iPadOS, tvOS에서 시스템은 사용자로부터 데이터를 입력받기 위해 다양한 종류의 onscreen keyboard를 제공한다. Onscreen 키보드는 현재 작업에 최적화된 특정 키 세트를 제공한다. 예를 들어 이메일을 입력 받을 때에는 @와 마침표가 포함될 수 있다. 온스크린 키보드에서는 키보드 단축키를 사용할 수 없다. 필요시에 앱에서 원하는 데이터를 입력 가능한 키보드를 커스텀하여 기본 키보드 대신 사용할 수 있다. 또한 커스텀 키보드 앱 확장 프로그램을 만들어서 필요한 사람들이 설치하여 사용할 수 있도록 할 수 있다. Best Practices 사용자가 편집하는 콘텐츠의 유형에 맞게 키보드를 조정하자! 숫자를 입력해야 한다면 숫자 키보드를, 이메일을 .. 2023. 4. 28.
Swift의 디자인 프로토콜 인터페이스 WWDC22 Embrace Swift generics(Swift 제네릭 활용)과 이어집니다. https://developer.apple.com/videos/play/wwdc2022/110353/ 주요 내용 1. 프로토콜의 assiciated 타입이 Any 타입과 상호작용 하는 방법을 type erasure으로 이해 2. Opaque type으로 구현부 숨기기 3. 프로토콜의 동일 타입 요구 사항이 어떻게 서로 다른 구체 타입 집한 간의 관계를 모델링하는지 1. Understand type erasure 2개의 Animal 타입, 2개의 Food 타입이 있다. Animal 프로토콜은 Food를 채택한 CommodityType을 연관타입으로 가지며 이것을 produce하도록 명시한다. 다이어그램으로 나타내면.. 2023. 4. 27.
[HIG] Components - Text fields https://developer.apple.com/design/human-interface-guidelines/components/selection-and-input/text-fields Text fields - Selection and input - Components - Human Interface Guidelines - Design - Apple Developer Text fields A text field is a rectangular area in which people enter or edit small, specific pieces of text. Best practices Use a text field to request a small amount of information, such as.. 2023. 4. 20.
[HIG] Components - Buttons https://developer.apple.com/design/human-interface-guidelines/components/menus-and-actions/buttons Buttons - Menus and actions - Components - Human Interface Guidelines - Design - Apple Developer Buttons A button initiates an instantaneous action. Versatile and highly customizable, buttons give people simple, familiar ways to do tasks in your app. In general, a button combines three attributes t.. 2023. 4. 14.
Swift SupaBase Auth 비밀번호 초기화 + 변경 지난번 SupaBase Storage에 이미지 업로드하기에 이어 이번에는 SupaBase를 사용하여 비밀번호 초기화 + 변경 기능을 구현해보자! 비밀번호를 잊었을 때 일반적으로 비밀번호 찾기 버튼을 누르면 메일을 발송 + 메일을 클릭해 본인 인증을 하면 기존의 비밀번호가 초기화 되고 새 비밀번호를 설정하는 로직 1. 비밀번호 찾기/초기화 뷰 구현 로그인 화면에 비밀번호 찾기/리셋 버튼을 넣는다. 해당 버튼을 클릭하면 비밀번호를 변경할 이메일을 입력 받는 뷰로 이동시킨다. 이메일을 입력 받으면 SupaBase sdk를 불러와서 해당 이메일로 PasswordReset 메일을 발송한다. 2. 딥링크 설정 뷰 구현을 하고 SupaBase 코드를 사용하기 전에 우선 SupaBase 홈페이지에서 URL 설정 + 프.. 2023. 3. 28.
iOS UIScrollView 키보드 show/hide 시 스크롤 처리 UIScrollView를 사용해 폼 형식의 뷰를 구현하다 보면 사용자가 입력을 할 때 생기는 키보드 만틈 뷰를 올려줘야 하는 상황이 발생한다. 즉, 사용자가 TextField를 터치하여 입력을 시작하면 ScrollView가 키보드의 높이만큼 자동으로 스크롤되어 사용자가 입력중인 TextField가 키보드에 가려지지 않도록 해야한다. 사실 이 문제를 해결하는 코드는 구글링을 하면 많이 나오고 복붙하면 바로 사용이 가능하다. 하지만, 이번에 구현한 방식은 흔히 사용하는 코드를 Protocol로 만들어서 재사용성을 높인 방식이다. Keyboard의 등장에 따른 UI 처리는 여러 VC에서 중복으로 필요한 경우가 많고 이럴 때 마다 필요한 코드를 매번 VC에 넣게되면 VC의 크기가 커지게 된다. 이는 우리가 지양.. 2023. 3. 15.