Notice
Recent Posts
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- ios면접
- Swift코딩테스트
- 리팩터링
- algorithm
- UIKit
- hackerrank
- firestore
- Swift디자인패턴
- 클린코드
- Di
- unittest
- five lines of cdde
- alamofire
- ARC
- IOS
- RxSwift
- five lines of code
- firebase
- SWIFT
- Safari Inspector
- RC
- css학습
- mrc
- 코딩테스트입문
- TDD
- 카카오맵클론
- storekit2
- 프로그래머스
- AutoLayout
- 앱의생명주기
Archives
- Today
- Total
샘성의 iOS 개발 일지
UIView 모서리 선택적으로 깎기 본문
728x90
네모난 버튼의 전체 꼭짓점을 둥글게 깎는법 말고
원하는 꼭짓점만 깎는 법을 다루게 되었다.
// 본인은 선택적 모서리 깎기를 여러번 할 것이기 때문에 UIView 확장했다.
extension UIView {
func addRoundedCorners(corners: CACornerMask, radius: CGFloat) {
layer.cornerRadius = radius // 얼마나 깎을거야?
layer.maskedCorners = [corners] // 어디 모서리 깎을거야?
}
}
layer에서 최소 x, 최소 y측 코너 >> 왼쪽 밑 모서리
layer에서 최대 x, 최소 y측 코너 >> 오른쪽 밑 모서리
layer에서 최소 x, 최대 y측 코너 >> 왼쪽 위 모서리
layer에서 최대 x, 최대 y측 코너 >> 오른쪽 위 모서리
정말 정직하게 지어놓은 것 같다.
좌표로 생각하면 이해하기 편하지만 혹시 몰라 그림으로 그려보았다.
이제 저 확장한 코드 사용하는 법은 정말 간단하다.
배열 형태로 깎고싶은 모서리를 골라서 corners에 넣으면 된다.
// 왼쪽 모서리 다 10만큼 깍기
let leftCornerButton: UIButton = {
let button = UIButton(type: .system)
button.addRoundedCorners(corners: [.layerMinXMaxYCorner, .layerMinXMinYCorner], radius: 10.0)
return button
}()
// 오른쪽 모서리 다 10만큼 깎기
let rightCornerButton: UIButton = {
let button = UIButton(type: .system)
button.addRoundedCorners(corners: [.layerMaxXMaxYCorner, .layerMaxXMinYCorner], radius: 10.0)
return button
}()
이렇게!
728x90
'iOS > UiKit' 카테고리의 다른 글
구글 로그인 구현하기 (0) | 2023.05.04 |
---|---|
카카오톡 로그인 구현하기 (0) | 2023.05.03 |
[오픈소스 라이브러리] JGProgressHUD 사용하기 (0) | 2023.04.08 |
[오픈소스 라이브러리] SDWebImage 사용하기 (feat. Firebase) (0) | 2023.04.06 |
날씨API 데이터를 토대로 View의 Constraints 변경하기 (0) | 2023.03.25 |