라벨이 custom view인 게시물 표시

[swift] 커스텀 버튼을 만들고 커스텀 뷰를 그리기

이미지
[swift] 커스텀 버튼을 만들고 커스텀 뷰를 그리기 버튼영역 내에 그림을 그려 커스텀 버튼을 만들고, UIView에 그림을 그려주는 기능을 구현하려합니다. 삼각형 버튼, 원버튼, 정사각형 버튼을 만들고, 각각의 버튼이 눌렸을 때 뷰의 그림이 버튼의 모양과 같이 나와야 합니다. 구조 메인 뷰 컨트롤러, 도형이 그려진 뷰, 버튼 3개 스토리 보드에는 버튼 개를 올려놓고, 라벨을 그리고, 그 아래 커스텀 뷰를 그려줍니다. 도형 그리기 새 파일을 만들어서 UIButton을 만들어 줍니다. class 앞에 @IBDesignable 을 붙이면, 그린 결과가 storyBoard에 바로 적용됩니다. // // CircleButton.swift // viewTest // // Created by 이현호 on 2020/07/20. // Copyright © 2020 tempYsoup. All rights reserved. // import UIKit @IBDesignable class CircleButton: UIButton { var shape:Shape = .circle override func draw(_ rect: CGRect) { let path = UIBezierPath(ovalIn: rect) UIColor.blue.setFill() path.fill() } } 그리고, draw라는 함수를 override해 주면 커스텀 하게 그릴 수 있습니다. 위와 같이 삼각형, 정사각형도 그려줍니다. 스토리 보드에 배치 해 주었던 버튼의 클래스로 설정으 해주시면 짜잔 그림이 그려집니다. 클릭 이벤트 뷰 컨트롤러에 @IBAction 버튼 클릭을 클릭한 버튼을 인식해 label의 text를 변화시켜 줍니다. enum Shape :String { case triangle case square case circle