개발/아이오에스

swift - 중복되는 뷰 생성해서 사용하기

dev.jake 2022. 9. 30. 13:11

위 사진처럼 이미지, 텍스트, 뷰로 이루어진 내용이 있다.

 

서로 정보는 다르지만 레이아웃이 같기 때문에 하나의 뷰를 만들어 재사용이 가능하다.

 

class ContentsView: UIView {
    init(title: String, subTitle: String, img: String) {
        super.init(frame: CGRect.zero)
        self.titleLabel.text = title
        self.subTitleLabel.text = subTitle
        self.iconImageView.image = UIImage(named: img)
        setupViews()
    }
    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }
}

위 처럼 뷰를 만들고 init을 사용하여 데이터를 받아와 해당 뷰에 데이터를 적용하도록 설정했다.

 

    private lazy var pictureView = ContentsView(title: "사진폴더",
                                                subTitle: "고객의 소리 파일첨부 등",
                                                img: "ic_access_camera_32")
    private lazy var contactsView = ContentsView(title: "연락처",
                                                 subTitle: "간편송금 서비스 받는분 연락처 선택",
                                                 img: "ic_access_address_32")
    private lazy var positionView = ContentsView(title: "위치",
                                                 subTitle: "비대면 계좌개설 시 신분증 촬영",
                                                 img: "ic_access_map_32")

이렇게 만든 1개의 뷰를 재사용하여 각각의 다른 텍스트, 이미지를 갖는 총 3개의 뷰를 선언했다.