반응형
UIButton() 이용하여 토글 버튼 만들기
나는 UIButton() 속성을 가지고 있는 MaterialComponents의 MDCFloatingButton()을 이용해서 버튼을 만들어보았다.
버튼 object 생성하기
1. MaterialComponents.MaterialButtons import 해주기 (그냥 UIButton() 속성 사용 시 생략 가능)
2. MDCFloatingButton() 속성을 가진 버튼 object 만들어주기
화면에 버튼 띄우기
3. setupViews() 함수에서
a) 버튼을 subview에 넣어주고
b) .translatesAutoresizingMaskIntoConstraints = false, .sizeToFit() 을 통해 버튼의 크기 및 위치를 직접 조정할 수 있도록 해준다.
c) 기타 버튼 속성 추가 (색, 그림자, 이미지 삽입 등)
4. addConstraints() 함수에서 버튼의 크기 및 위치 잡아주기
5. 생성한 setupViews()와 addConstraints() 메서드를 init() 혹은 viewDidLoad()에 넣어주기
버튼 탭 이벤트 넣어주기
6. @objc로 버튼 탭 함수를 만들어, 탭 했을 경우 일어날 이벤트를 작성해준다.
7. setuiViews()에서 .addTarget으로 버튼에 #selector(이벤트 함수)를 추가해준다. 버튼 탭 인식 설정은 대부분 .touchUpInside를 많이 쓴다고 한다.
import MaterialComponents.MaterialButtons //1
class PlayerViewController: UIViewController {
let toggleButton = MDCFloatingButton() //2
init() {
super.init(nibName: nil, bundle: nil)
//5
setupViews()
addConstraints()
}
//3
func setupViews() {
view.addSubview(toggleButton)
toggleButton.translatesAutoresizingMaskIntoConstraints = false
toggleButton.sizeToFit()
// toggleButton 속성 추가
toggleButton.addTarget(self, action: #selector(didTapToggleButton), for: .touchUpInside) //7
}
//4
func addConstraints() {
NSLayoutConstraint.activate([
// toggleButton constraints 설정
])
}
//6
@objc func didTapToggleButton() {
// 버튼 탭 시 일어날 이벤트 작성
}
}
728x90
반응형
'Swift iOS 앱 개발 > 실전 Swift' 카테고리의 다른 글
[실전 Swift] Disable multiple touch on UICollectionView 다중 터치 방지 (0) | 2021.01.18 |
---|---|
[실전 Swift] How to update UI? (0) | 2021.01.12 |
[Swift 실전] Adding Multiple text lines in CollectionViewCell using UIView 컬렉션 뷰 셀 안에 UIView로 속성 추가 (0) | 2021.01.10 |
[실전] Swift Adding ActivityIndicator 로딩화면 띄우기 (0) | 2021.01.06 |
[Swift] Multiple asynchronous tasks 비동기로 여러 파일 다운로드 실행하기 (0) | 2021.01.04 |