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 | 29 | 30 | 31 |
Tags
- IOS
- 반응형프레임워크
- Bubble Search
- firestore
- SWIFT
- 앱의생명주기
- unittest
- ios면접
- Di
- 시험에자주나오는것만
- iOS앱 디버깅
- 카카오맵클론
- 코딩테스트입문
- Swift코딩테스트
- firebase
- ReactorKit UnitTest
- ARC
- mrc
- UIKit
- RC
- HackersRank
- alamofire
- AutoLayout
- Safari Inspector
- 프로그래머스
- hackerrank
- Swift디자인패턴
- RxSwift
- TDD
- algorithm
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 |