일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 애플 디벨로퍼 아카데미 후기
- SWIFT
- 애플 디벨로퍼 아카데미
- iOS 개발 오류
- 네이버 치지직
- 네이버 부스트캠프
- 제앱소
- 신입 개발자
- 애플 디벨로퍼 아카데미 21주차 회고
- global soop
- 운영체제
- Swift 기능
- sqoop
- react
- 신입ios개발자회고
- 신입 ios 개발자
- apple developer academy 후기
- 개발자 회고
- swift문법
- Swift 디자인패턴
- Swift 문법
- 애플 아카데미 후기
- 앱 비교 프로젝트
- 숭실대
- OS
- 개발회고
- 소프트웨어분석및설계
- 데이터베이스
- ios개발자
- Apple Developer Academy @ POSTECH
- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 애플 디벨로퍼 아카데미 후기
- SWIFT
- 애플 디벨로퍼 아카데미
- iOS 개발 오류
- 네이버 치지직
- 네이버 부스트캠프
- 제앱소
- 신입 개발자
- 애플 디벨로퍼 아카데미 21주차 회고
- global soop
- 운영체제
- Swift 기능
- sqoop
- react
- 신입ios개발자회고
- 신입 ios 개발자
- apple developer academy 후기
- 개발자 회고
- swift문법
- Swift 디자인패턴
- Swift 문법
- 애플 아카데미 후기
- 앱 비교 프로젝트
- 숭실대
- OS
- 개발회고
- 소프트웨어분석및설계
- 데이터베이스
- ios개발자
- Apple Developer Academy @ POSTECH
- Today
- Total
목록분류 전체보기 (296)
사과하는 제라스
이번에는 정말 간단하게 애니메이션을 적용하는 코드만 보도록 하자. 어떤 동작에 대해 애니메이션을 적용하여 보이려면 다음과 같이 구현할 수 있다. // stackView 안의 모든 하위 뷰들은 layout이 바뀔 때 모두 0.3초에 걸쳐 스르륵 바뀌도록 한다. UIView.animate(withDuration: 0.3) { self.stackView.layoutIfNeeded() }
비밀번호 입력을 구현하다보면 표시 버튼을 구현이 필요해질 때가 있다. 다음처럼 toggle을 이용해서 isSecureTextEntry 속성값(Bool)을 조절한다면 비밀번호 가리기, 보이기 구현이 가능해진다. @objc func passwordSecureModeEditing() { passwordTextField.isSecureTextEntry.toggle() }
이번엔 Alert 기능을 구현하는 코드 예시를 봐보려고 한다. 단순히 Alert기능이지만 여러 버튼을 둘 수 있고, 그 동작도 등록해둘 수 있기에 살펴볼 가치가 있다. @objc func resetButtonTapped() { //prefferedStyle -> .alert: 가운데에 뜸, .actionSheet: 아래에서 뜸. let alertController = UIAlertController(title: "비밀번호 바꾸기", message: "비밀번호를 바꾸시겠습니까?", preferredStyle: .actionSheet) let success = UIAlertAction(title: "확인", style: .default) { action in print("확인버튼이 눌렸습니다.") } // ..
iOS의 시작을 스토리보드를 써버릇을 했다. 하지만 React Native에 익숙한 나는 이런 IB(Interface Builder, 스토리보드의 도구들을 이용해서 UI를 구현하는 방식) 구현보다는 차라리 코드로 하는 것이 익숙하다. 한번 코드로 Auto-Layout을 잡는 방법을 정리해보자. 일단 다음과 같이 잡을 수 있다. func setUpAutoLayout() { view.addSubview(stackView) view.addSubview(passwordResetButton) //코드로 짜면 이 뷰가 자동으로 Frame 기준으로 오토 레이아웃을 잡아줌. 그래서 이걸 꺼줘야 함. emailInfoLabel.translatesAutoresizingMaskIntoConstraints = false em..
어!? 이상하다! 왜 그러지? 코드로 View를 그렸고 그걸 실행도 잘 해주었는데도 View가 안보일 때가 있다. 무엇이 문제인 걸까? 아마 그 중 하나는 다음과 같은 코드를 작성해주지 않아서일 것이다. //코드로 짜면 이 뷰가 자동으로 Frame 기준으로 오토 레이아웃을 잡아줌. 그래서 이걸 꺼줘야(false) 함. abcView.translatesAutoresizingMaskIntoConstraints = false 이렇게 해주면 오토레이아웃이 자동으로 설정되는 걸 막고 수동으로(코드로) 작성해준 UI가 보여질 수 있다.
View를 직접 코드로 그리다보니 해당 View의 모서리를 둥글게 만들고 싶을 때가 있다. 이때는 다음 코드를 쓰자. // tempView의 모서리를 8px로 깎는다. tempView.layer.cornerRadius = 8 // tempView 내부의 text나 그림 같은 요소들이 밖으로 삐져나와도 잘려져서 나온다. tempView.layer.masksToBounds = true 이렇게 주면 충분히 좋은 모습의 뷰를 얻을 수 있다.

delegate... delegate는 위임자라는 뜻이다. 어떤 것에 대한 대리자, 즉, 수행할 사람이란 거다. 밑에 코드를 한번 보자. import UIKit // 대리자에 대한 프로토콜 protocol RemoteControlDelegate { func channelUp() func channelDown() } // 리모콘 클래스(유저와 직접 대면함) class RemoteControl { var delegate: RemoteControlDelegate? //사실상 여기에는 내가 이 리모콘으로 무엇을 작동할지 적는 것임. func doSomething() { print("리모콘의 조작이 일어나고 있음") } func channelUp() { // 어떤 기기가 리모콘에 의해 작동되는지 몰라도 됨 del..
React Native에서는 TouchableWithoutFeedback란게 있다. TextInput을 감싸주면 TextInput 외부를 클릭 시의 동작에 대한 설정이 가능했다. 이곳에 Keyboard.dismiss 함수를 적어두면 키보드가 내려가도록 할 수 있다. 그렇다면 Swift에서는 이것을 어떻게 구현할까? override func touchesBegan(_ touches: Set, with event: UIEvent?) { self.view.endEditing(true) } 이렇게 구현하면 된다. 이러면 endEditing으로 self(ViewController)의 view 내에서의 편집이 끝나도록(endEditing(true)) 하기 때문에 가능한 거다. 공식문서를 통해 확인하면 touches..