iOS/UIKit

·iOS/UIKit
import UIKit// final > 클래스는 구조체 보다 느림 왜? 동적 디스패치 때문에, 테이블 디스패치가 일어나기 때문에// final을 붙이면 더 이상 상속을 못하게 막으면서 메서드가 다이렉트 디스패치가 이루어 지도록 하는 것임final class ViewController: UIViewController { // MARK: - 이메일 입력하는 텍스트 뷰 // lazy 없이 그냥 선언하면 메모리에 동시에 올라가기 때문에 // addSubView하려면 메모리에 emailTextField,emailInfoLabel가 먼저 올라간 후에 return view에 올라가야함 private lazy var emailTextFieldView: UIView = { le..
·iOS/UIKit
확인, 취소 let alert = UIAlertController(title: "비밀번호 바꾸기", message: "비밀번호를 바꾸시겠습니까?", preferredStyle: .alert)let success = UIAlertAction(title: "확인", style: .default) { action in print("확인버튼이 눌렸습니다.")}let cancel = UIAlertAction(title: "취소", style: .cancel) { action in print("취소버튼이 눌렸습니다.")} alert.addAction(success)alert.addAction(cancel) // 실제 띄우기self.present(alert, animated: true, co..
·iOS/UIKit
어떤 함수가 실행됐는지 알 수 있음print(#function)  대부분 extension 사용해서 구현(코드가 섞이기 때문)extension ViewController: UITextFieldDelegate { // 구현}  텍스트 필드 키보드 올라오게 설정(사용자 유도)// 최초응답자 설정(responder) (뷰마다 특성이 조금 다름) (UIResponder)// 전체화면이 터치를 입력받을 수 있는 상태 ==> 텍스트필드가 가장 먼저 입력받는 상태// 키보드가 올라옴 (손가락 터치로 직접 최초응답자 설정도 가능)textField.becomeFirstResponder()  텍스트 필드에 제한을 주고 싶을 때(ex 글자 수, 숫자 제한 등등)// 텍스트필드에 글자내용이 (한글자 한글자) 입력되거나 지워질..
·iOS/UIKit
autolayout레이아웃을 자동으로 계산해준다! 핵심1. 뷰의 위치- 가로 [x축]- 세로 [y축]- 앵커로 제공 2. 뷰의 크기- 가로, 세로- 앵커기반 스크린사이즈로 뷰의 크기 제공가능 위치 + 크기 -> autolayout -> 화면 렌더링 앵커를 왼쪽, 오른쪽에 설정하고 고정 너비를 주면 오류,,왜냐! 앵커를 기준으로 계산해서 그리는데 고정 너비 값 때문에 충돌이 나기 때문임  코드로 autolayout 설정하기 예시// ⭐️ 필수: 자동으로 autolayout 설정해주는 옵션 꺼주기myView.translatesAutoresizingMaskIntoConstraints = false// 최상위 view로 부터 top: 30, leading: 15, trailing: 15 띄우고 고정 height..
임구마🍠
'iOS/UIKit' 카테고리의 글 목록