๐ UIView ์๋จ border ๋ฃ๊ธฐ
๐ ํ์ต ๋ด์ฉ
- ๋ทฐ์ ๋ทฐ ์ฌ์ด์ ๊ฒฝ๊ณ์ ์ ์ถ๊ฐํด์ผ ํจ
- lineView๋ฅผ ์ฌ๋ฌ ๊ฐ ๋ง๋ค์ด ๊ฐ ๋ทฐ ์ฌ์ด ์ฌ์ด ๋ฃ์ด์ฃผ๋ฉด ํด๊ฒฐ๋์ง๋ง, lineView๊ฐ ์ฌ๋ฌ ๊ฐ ์๊ธฐ๋ฉด ์ฝ๋๊ฐ ๋ณต์กํด์ง ๊ฒ ๊ฐ์
- JustDrop ๊ทธ๋ฃน ๋ทฐ๋ฅผ ๋ง๋ค์ด์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ด ๊ทธ๋ฃน ๋ทฐ์ ์๋จ ํ ๋๋ฆฌ๋ง ์์ ๋ฃ์ด์ฃผ๋ฉด ๋ ๊ฒ ๊ฐ์
- ์๋จ ํ ๋๋ฆฌ๋ง ์ง์ ํ๋ ๋ฉ์๋๋ ์๊ธฐ ๋๋ฌธ์ UIView ํด๋์ค๋ฅผ ํ์ฅํ์ฌ ์ฌ์ฉ

UIView์ ์๋จ์ ์๋ธ๋ทฐ๋ฅผ ์ถ๊ฐํ์ฌ ํ ๋๋ฆฌ์ฒ๋ผ ๋ณด์ด๊ฒ ๋ง๋๋ ๋ฐฉ๋ฒ
extension UIView {
func addTopBorder(color: UIColor, width: CGFloat) {
let border = UIView()
border.backgroundColor = color
border.autoresizingMask = [.flexibleWidth, .flexibleBottomMargin]
border.frame = CGRect(x: self.frame.minX, y: self.frame.minY, width: self.frame.width, height: width)
self.addSubview(border)
}
}
- addTopBorder(:) ๋ฉ์๋๋ฅผ ๋ง๋ค์ด border์ ์๊ณผ ๋๊ป(width)๋ฅผ ํ๋ผ๋ฏธํฐ๋ก ๋ฐ์
- ํ ๋๋ฆฌ๋ก ํ์ํ ๋ทฐ(border)๋ฅผ ์์ฑํ๊ณ background ์์ ํ๋ผ๋ฏธํฐ๋ก ๋ฐ์ color ์ฌ์ฉ
- border.autoresizingMask = [.flexibleWidth, .flexibleBottomMargin]
- autosizingMask : ๋ทฐ์ ํฌ๊ธฐ๋ฅผ ์ด๋ป๊ฒ ์กฐ์ ํ ์ง ๊ฒฐ์ ํ๋ ์ ์ ๋นํธ ๋ง์คํฌ
- flexibleWidth : ๋ถ๋ชจ ๋ทฐ์ ๋๋น์ ๋ฐ๋ผ ๊ฒฝ๊ณ์ ์ ๋๋น๊ฐ ์ ๋์ ์ผ๋ก ์กฐ์
- flexibleBottomMargin : ๋ถ๋ชจ ๋ทฐ์ ๋์ด์ ๋ฐ๋ผ ๊ฒฝ๊ณ์ ์ ์์น๊ฐ ์ ๋์ ์ผ๋ก ์กฐ์
- x: self.frame.minX : border์ x ์ขํ๋ฅผ ๋ถ๋ชจ ๋ทฐ์ ์ผ์ชฝ ๊ฒฝ๊ณ์ ๋ง์ถค
- y: self.frame.minY : border์ y์ขํ๋ฅผ ๋ถ๋ชจ ๋ทฐ์ ์์ชฝ ๊ฒฝ๊ณ์ ๋ง์ถค
- width: self.frame.width : border์ width๋ฅผ ๋ถ๋ชจ ๋ทฐ์ ๋๋น์ ๋์ผํ๊ฒ ์ค์
- height: width : border์ height์ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์ ๋๊ป๋ก ์ค์
์ฌ์ฉ ๋ฐฉ๋ฒ
- ํ์ฅํ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๋ถ๋ชจ ๋ทฐ์ ํฌ๊ธฐ์ ์์น๊ฐ ๊ณ ์ ๋์ด ์์ด์ผ ํจ
- ๋ฐ๋ผ์, ๋ทฐ์ ๋ ์ด์์์ด ๋ชจ๋ ์ง์ฌ์ง ํ์ ํธ์ถ๋์ด์ผ ํจ
override func viewDidLayoutSubviews() {
let lineColor = UIColor(hex: "#F2F2F2") ?? .blue
homeView.grpJustDrop.addTopBorder(color: lineColor, width: 1)
homeView.grpHappyLook.addTopBorder(color: lineColor, width: 1)
}
๐ ์ฐธ๊ณ ์๋ฃ
- https://learn-hyeoni.tistory.com/31
- https://dneod.tistory.com/24
- https://developer.apple.com/documentation/uikit/uiview/1622559-autoresizingmask
728x90
'Swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Swift - CollectionView - ์ ํํ ์ UI ๋ณ๊ฒฝ (0) | 2024.11.11 |
---|---|
Swift - Tab Bar ์์ ํ ์จ๊ธฐ๊ธฐ(hidesBottomBarWhenPushed ์์ฑ) (0) | 2024.11.11 |
Swift - viewDidLayoutSubviews() (0) | 2024.10.20 |
Swift - UISegmentControl, Content Width ์กฐ์ ๋ฐฉ๋ฒ (1) | 2024.10.20 |
Swift - UIButton image Scale ๋ฌธ์ (1) | 2024.10.15 |