알람어플은 라이트모드, 다크모드 상관없이 검은색 테마를 유지하고 있기에 다크모드 지원이 되지 않게 설정을 해주었다 다크모드 지원 설정은 아래 포스팅에서 간단하게 설명되어있다 https://modelinspring.tistory.com/51 [swift/iOS] 회원가입 페이지 만들기(1) - 요소와 기능 확인, 프로젝트 만들기, 다크모드 지원 설정, 회원가입 페이지를 만들어볼 예정이다 페이지에 들어갈 요소와 기능부터 생각을 해보자 회원가입 페이지에 들어갈 요소 1. 아이디 2. 비밀번호 3. 이메일 4. 친구 초대 추천인 아이디 5. 휴대폰 번 modelinspring.tistory.com Tab Bar 설정을 마무리 지어주자 Tab Bar의 Background 색상은 위의 사진 처럼 뒤에 내용이 있으면..
Tab Bar, Table View, Collection Veiw, DateFormatter를 연습을 위해 아이폰 기본 어플을 따라서 만들어보려고 한다 메뉴구성부터 보면 하단 Tab bar가 "세계 시계", "알람", "스톱워치", "타이머"로 되어 있다 테이블 뷰가 하단까지 도달하지 않으면 검은 바탕으로 투명해보이지만, 하단까지 도달하면 불투명한 모습을 확인할 수 있다 선택된 뷰는 orange 컬러(?)로 설정 되어 있다 어플리케이션 실행 시 보여줄 스토리보드 설정하기 프로젝트 생성 후 기본으로 설정되어 있는 Main 스토리보드 말고, 새로운 스토리보드를 생성해서 시작을 해보려고 한다 Command + N 또는 File - New - File 메뉴를 통해서 새로운 파일 생성창을 띄워준다 iOS - U..
거의 다 한 것 같다.. 빨리 탭 바와 내비게이션으로 넘어가고 table view도 넣고싶다.. 여러가지 버튼 Action으로 연결하고 tag 사용하기 약관 전체동의하기 버튼과 아래 각 버튼들의 action을 총 5개 만들어서 해결할 수 도 있지만, 하나의 액션으로 묶고 tag를 사용해서 구별할 수 있도록 해보려고 한다 일단 전체동의하기 버튼의 IBAction을 connect 한 다음에, 해당 메서드를 각 버튼들에 연결해준다 그 다음 각 버튼들의 Attributes Inspector에서 tag를 각각 0~4로 입력해주고 코드를 아래와 같이 작성한다 @IBAction func allAgreementButtonClicked(_ sender: UIButton) { let agreementArray = [all..
저번 포스팅에 이어서.. 휴대폰 번호 전송버튼을 클릭했을 때, 조건을 파악해서 액션을 주고 싶다 생각해본 조건은 간단히 숫자로만 구성된 10,11자리 이어야 하는데 이것은 description을 체크할 때 그대로 했던 작업이다 코드 반복을 피하고 함수로 따로 빼내고 싶지만 현재 이 회원가입페이지를 너무 오래 붙잡고 있기도 하고.. 해서 일단은 그냥 복붙형태로 진행하려 한다 ... 이렇게 해도 되냐고 물어보았는데 안될 건 없지만 코드리뷰할 때.... ㅠㅠ(생략) 아무튼... 버튼을 눌렀을 때 alert 띄우기 일단 alert 띄울 때 필요한 함수를 아래와 같이 입력해주자 입력할 곳은 IBAction 을 입력하는 곳에 넣어주면 된다 func wrongPhoneNumberAlert() { let alert =..
정규표현식 기본 정리 (언어마다 조금씩 다를 수 있음) 1. 텍스트를 그대로 적어주기 Hello "Hello"를 찾아줌, "hello"는 찾을 수 없음 정규표현식은 기본적으로 대소문자를 구분한다 2. Hello, world "Hello, world"를 찾아줌 "Hello, world"는 찾을 수 없음 공백의 수도 정확히 구분한다 3. ^ caret, 그 다음에 붙은 것이 찾는 곳에서 맨 앞에 있을 경우를 의미 ^abc "abc" 찾을 수 있음 "babc" 찾을 수 없음 단어 기준이 아니라 공간의 맨 앞을 의미 """ abc is abc abc is abc """ 인 경우 첫 번째 줄 맨 앞의 abc만 찾아짐 (환경마다 다른듯) 단어의 시작되는 부분을 찾을 때는 ^, caret을 사용함 $ $, 소스의 끝..
계속해서 아이디 입력창 아래 Label을 바꿔서 보여주는 기능을 생각해볼 예정이다 이전 포스팅에서는 label이 없어졌다가 유저가 Text Field창과 상호작용하면 Label이 나타나게 되고, Edting 할때마다(changed) 메서드를 작동시키게 연결하는 것까지 진행했다 text의 조건 확인하기(글자 수, 소문자, 정규표현식의 문자 조건 (알파벳소문자, 숫자, 길이)확인) 일단 idTextFieldTyped 함수 내의 코드들을 아래처럼 수정해주자 @IBAction func idTextFieldTyped(_ sender: UITextField) { idTextFieldDescription.isHidden = false // label 보여주기 let userWord = idTextField.text?..
전체적인 레이아웃이 잡혔으니 조금씩 디벨롭을 해보자 먼저 해결해 볼것은 기능1, 아이디 최소 글자 수 확인이고 영어,숫자만을 강제 사용하게 하려고 한다 일단 사용자에게 조건을 전달하기 위해서 아이디 Text Field에 Placeholder를 입력해보자 Text Field에 Placeholder 입력하기 Text Field의 Attributtes Inspector에서 Placeholder를 기본 값으로 "알파벳 소문자, 숫자 5-12자"로 입력해준다 화면에서 Text Field 안에 "알파벳 소문자, 숫자 5-12자"가 보이는 것을 알 수 있다 현재 Interface Builder안에 레이아웃을 미리 잡아놓았는데 포스팅 작성하기 전에 작업을 먼저 해버려서 그 부분이 생략되어 있다 무시하고 따라해도 상관없..
대략적인 UI를 만들어보자 이전 포스팅에서 적어두었던 요소를 다시 한번 불러오고 확인해보면 아래와 같다 회원가입 페이지에 들어갈 요소 1. 아이디 2. 비밀번호 3. 이메일 4. 친구 초대 추천인 아이디 5. 휴대폰 번호 6. 휴대폰 번호 인증버튼 7. 휴대폰 번호 인증번호 입력창 8. 약관 전체 동의 체크버튼 및 텍스트 9. 약관 필수 동의 체크 버튼 및 텍스트 10. 약관 선택 동의 체크 버튼 및 텍스트 11. 약관 자세히 버튼 눌러서 상세 내용 확인 12. 마지막 회원가입 버튼 회원가입 페이지에 들어갈 기능 1. 아이디 최소 글자수 조건 확인(6글자이상, 영어, 숫자만 사용) 2. 비밀번호 필수 조건 확인(8글자이상, 영어필수, 숫자필수, 특수문자필수 충족) 3. 이메일 형식 확인 4. 형식에 맞지..
회원가입 페이지를 만들어볼 예정이다 페이지에 들어갈 요소와 기능부터 생각을 해보자 회원가입 페이지에 들어갈 요소 1. 아이디 2. 비밀번호 3. 이메일 4. 친구 초대 추천인 아이디 5. 휴대폰 번호 6. 휴대폰 번호 인증버튼 7. 휴대폰 번호 인증번호 입력창 8. 약관 전체 동의 체크버튼 및 텍스트 9. 약관 필수 동의 체크 버튼 및 텍스트 10. 약관 선택 동의 체크 버튼 및 텍스트 11. 약관 자세히 버튼 눌러서 상세 내용 확인 12. 마지막 회원가입 버튼 이메일 인증도 받을 수 있고, 더 단축시킬 수 도 있겠지만 현실적인 수준에서 골라보았다 이제 기능을 조금 더 구체적으로 생각해보자 회원가입 페이지에 들어갈 기능 1. 아이디 최소 글자수 조건 확인(6글자이상, 영어, 숫자만 사용) 2. 비밀번호 ..
ios UI 요소들에 대해서 간단히 살펴보기 xcode 스토리 보드 파일에서 오른쪽 상단 + 버튼 또는 (command + shift + L)을 사용하면 오브젝트 라이브러리를 띄울 수 있다 Object Library 창에서 요소(예를 들면 Label)를 스토리보드의 뷰컨트롤러 위로 드래그 하면 생성할 수 있다 UILabel Label은 코드로 속성을 수정하거나 인스펙터 창에서 간단하게 속성 조정이 가능하다 인스펙터 창은 위에서 Object Library 창을 열기위한 + 버튼 오른쪽의 전자레인지 닮은 네모 버튼을 클릭하거나 (command + option + 0)으로 열 수 있다 여러가지 탭이 나오는데 Attributes inspector 창에서 속성들을 선택해서 수정할 수 있다 위 이미지에서는 각각 T..
- Total
- Today
- Yesterday
- 캡쳐리스트
- 클로저 강한 참조
- SWIFT
- 디자인패턴
- 클로저
- inout 파라미터 메모리 충돌
- 메모리 안정성
- Entity
- Persistent Container
- 클로저표현
- ios
- 자동클로저
- 회원가입
- unowned
- CoreData
- escaping closrue
- 강한 참조 순환
- Delegate 패턴
- object
- core data
- 클로저 축약
- ASAuthorizationAppleIDCredential
- identity Token
- weak
- 강한참조순환
- autoclosure
- context
- authorizationCode
- 토큰저장
- Core Data Stack
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |