[iOS] UIView의 생성자
내가 원하는 커스텀 뷰를 만들다보면, UIView와 같은 기존의 뷰를 상속받아서 테두리나 투명도를 조절하는 등의 커스터마이징을 할 수 있습니다.
하지만 항상 개발하면서, 생성자가 헷갈려서 정리 해 놓도록 하겠습니다.
필수 생성자
- 
init(frame: CGRect) 
 코드로 뷰를 만들면 호출됩니다. CGRect 타입으로 만들어 주어야 합니다.- 코드 상에서는 let avatarImageView = GFAvatarImageView(frame: .zero)이렇게 선언 합니다.
- 스토리 보드가 없을 때 사용합니다.
 
- 코드 상에서는 
- 
init(coder: NSCoder) 
 스토리 보드에서 나오면서 UIView를 만들 때 사용되는 생성자 입니다. 스토리 보드에 그려놓으면 이 생성자가 호출됩니다.- 코드 상에서는 @IBOutlet weak var appIconImageView: SoftBorderImageView!이렇게 선언해줍니다.
- 스토리 보드에 연결 되어있을 때 사용합니다.
 
- 코드 상에서는 
awakeFromNib
TableViewCell을 xib으로 만들 때 override func awakeFromNib()이 생기는데요, 이 awakeFromNib은 인스턴스 화 된 후 호출 됩니다.
즉 init(coder: NSCoder) -> awakeFromNib() 이 호출됩니다.
헷갈리는 부분을 여러번 실행하고 애플 문서를 찾아 정리 해 보았는데요, 혹시 틀린 부분있으면 망설임없이 지적 부탁드립니다!
 
 
댓글
댓글 쓰기