일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- SWIFT
- rxswift
- collectionview
- RxCocoa
- tableView
- 애니메이션
- 클린 코드
- HIG
- UITextView
- MVVM
- combine
- 리팩토링
- Clean Code
- uiscrollview
- Xcode
- Protocol
- ribs
- 스위프트
- Refactoring
- clean architecture
- 리펙터링
- Human interface guide
- 리펙토링
- swift documentation
- Observable
- map
- ios
- UICollectionView
- swiftUI
- uitableview
- Today
- Total
목록custom button (5)
김종권의 iOS 앱 개발 알아가기
커스텀 버튼 구현 아이디어 UIButton을 상속하여 사용 hilighted 애니메이션 처리? UIButton에서 제공해주는 isHighlighted와 setImage를 오버라이딩하여 사용 커스텀 버튼 구현 UI 준비 - stackView하나와 imageView, label 준비 class MyButton: UIButton { private let stackView: UIStackView = { let view = UIStackView() view.axis = .vertical view.alignment = .center view.distribution = .fill view.spacing = 12 view.isUserInteractionEnabled = false view.translatesAutore..
목차) SwiftUI의 기본 - 목차 링크 * Button 기본 개념은 이전 포스팅 글 참고 커스텀 버튼 구현 아이디어 ButtonStyle을 준수하는 struct형을 만들고, makeBody(configuration:) 메소드를 구현 SwiftUI에서는 상속사용을 지양하기 때문에, 사용하는 쪽에서 .buttonStyle()으로 사용 // 커스텀 ScaleButton을 만들기 위해서 ButtonStyle 준수하고 makeBody 메서드 구현 struct ScaleButton: ButtonStyle { func makeBody(configuration: Configuration) -> some View { } } makeBody 인자 configuration은 label 프로퍼티에 접근할수 있는데, 이 l..
Roundable 버튼 layer.cornerRadius값이 width나 height의 값의 반일때 원이 되므로 이 특성을 사용 // ViewController.swift NSLayoutConstraint.activate([ self.circleView.topAnchor.constraint(equalTo: self.view.topAnchor, constant: 120), self.circleView.centerXAnchor.constraint(equalTo: self.view.centerXAnchor), self.circleView.widthAnchor.constraint(equalToConstant: 120), self.circleView.heightAnchor.constraint(equalToCons..
BaseButton 정의 configure()에는 커스텀 버튼에 기본적으로 실행될 레이아웃 구성 bind()에는 커스텀 버튼에 특정 데이터에 대한 UI 구성 class BaseButton: UIButton { override init(frame: CGRect) { super.init(frame: frame) configure() } @available(*, unavailable) required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } func configure() {} func bind() {} } RoundedShadowButton 구현 configure() 구현 button이 가지고 있는 프로퍼티인 i..
목표 baseButton을 하나 만들고, 공통적으로 baseButton의 속성을 가지면서 각자의 특색있는 커스텀 버튼 생성 BaseButton 생성 cornerRadius가 4인 Base버튼 클래스 생성 // // MyBaseButton.swift // Test // // Created by 김종권 on 2020/11/20. // import Foundation import UIKit class MyBaseButton: UIButton { override init(frame: CGRect) { super.init(frame: frame) setupView() } required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) setupView(..