iOS에서 언더바가 있는 레이아웃을 만들어 보았습니다(Swift)
1908 단어 StoryboardiOSSwiftAutoLayout
1, 처음
iOS 앱을 Swift로 개발을 시작하여 꾸준히 만들어 온 가운데,
웹에 가까운 UI 디자인을 만들어야했습니다.
밑줄·언더 바입니다.
처음에는
UIView・・・언더바용(언더바의 색을 지정)
└UIView・・・마진용(bottom에 1px의 마진을 넣습니다)
└UILabel···(UIView를 한 장 넣을 수 있는 것은, 언더 바와의 위치 조정을 위해)
로 UIView에서 여백을 만들고 backgroundColor 지정하여 만들었습니다.
Storyboard의 외형을 볼 수는 있지만 복잡해지기 때문에 다른 방법을 생각했습니다.
2, 했던 일
우선 조사했지만, 좀처럼 이미지에 맞는 것이 없고,
자기 앞에서 만들어 보기로 했습니다.
3, 무엇을 만들었는가
Storyboard에서는 확인할 수 없지만 사용자 정의 UIView를 만들었습니다.
스토리 보드에서 맞춤 클래스를 지정하고,
User Defined Runtime Attributes에서 색상을 지정할 수 있습니다.
4, 어떤 커스텀 클래스
class BottomBorderView : UIView {
var borderLayer: CALayer!
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.borderLayer = CALayer()
self.layer.addSublayer(self.borderLayer)
}
override func layoutSubviews() {
super.layoutSubviews()
self.borderLayer.frame = CGRectMake(0, self.frame.height - 1, self.frame.width, 1)
}
var borderColor: UIColor? {
get {
return UIColor(CGColor: self.borderLayer.backgroundColor!)
}
set {
if let val = newValue {
self.borderLayer.backgroundColor = val.CGColor
}
}
}
}
layoutSubviews에서 조정하는 것은
그 외의 타이밍에서는 AutoLayout이 반영되어 있지 않은 상태가 되어 버리기 때문입니다.
5, 사용법
이런 느낌으로 사용할 수 있습니다.
Storyboard에서는 볼 수 없지만 런타임에 언더바가 표시됩니다.
6, 마지막으로
이 구현 방법이 좋은지 전혀 모릅니다.
그래서 츳코미 부탁드립니다. 공부를 위해서도.
그리고, 지금은 색 지정만이므로, 높이 지정도 할 수 있도록 해 보고 싶습니다.
Reference
이 문제에 관하여(iOS에서 언더바가 있는 레이아웃을 만들어 보았습니다(Swift)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/NobToyo/items/9e0ae3516355cdf00dd9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
우선 조사했지만, 좀처럼 이미지에 맞는 것이 없고,
자기 앞에서 만들어 보기로 했습니다.
3, 무엇을 만들었는가
Storyboard에서는 확인할 수 없지만 사용자 정의 UIView를 만들었습니다.
스토리 보드에서 맞춤 클래스를 지정하고,
User Defined Runtime Attributes에서 색상을 지정할 수 있습니다.
4, 어떤 커스텀 클래스
class BottomBorderView : UIView {
var borderLayer: CALayer!
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.borderLayer = CALayer()
self.layer.addSublayer(self.borderLayer)
}
override func layoutSubviews() {
super.layoutSubviews()
self.borderLayer.frame = CGRectMake(0, self.frame.height - 1, self.frame.width, 1)
}
var borderColor: UIColor? {
get {
return UIColor(CGColor: self.borderLayer.backgroundColor!)
}
set {
if let val = newValue {
self.borderLayer.backgroundColor = val.CGColor
}
}
}
}
layoutSubviews에서 조정하는 것은
그 외의 타이밍에서는 AutoLayout이 반영되어 있지 않은 상태가 되어 버리기 때문입니다.
5, 사용법
이런 느낌으로 사용할 수 있습니다.
Storyboard에서는 볼 수 없지만 런타임에 언더바가 표시됩니다.
6, 마지막으로
이 구현 방법이 좋은지 전혀 모릅니다.
그래서 츳코미 부탁드립니다. 공부를 위해서도.
그리고, 지금은 색 지정만이므로, 높이 지정도 할 수 있도록 해 보고 싶습니다.
Reference
이 문제에 관하여(iOS에서 언더바가 있는 레이아웃을 만들어 보았습니다(Swift)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/NobToyo/items/9e0ae3516355cdf00dd9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
class BottomBorderView : UIView {
var borderLayer: CALayer!
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.borderLayer = CALayer()
self.layer.addSublayer(self.borderLayer)
}
override func layoutSubviews() {
super.layoutSubviews()
self.borderLayer.frame = CGRectMake(0, self.frame.height - 1, self.frame.width, 1)
}
var borderColor: UIColor? {
get {
return UIColor(CGColor: self.borderLayer.backgroundColor!)
}
set {
if let val = newValue {
self.borderLayer.backgroundColor = val.CGColor
}
}
}
}
layoutSubviews에서 조정하는 것은
그 외의 타이밍에서는 AutoLayout이 반영되어 있지 않은 상태가 되어 버리기 때문입니다.
5, 사용법
이런 느낌으로 사용할 수 있습니다.
Storyboard에서는 볼 수 없지만 런타임에 언더바가 표시됩니다.
6, 마지막으로
이 구현 방법이 좋은지 전혀 모릅니다.
그래서 츳코미 부탁드립니다. 공부를 위해서도.
그리고, 지금은 색 지정만이므로, 높이 지정도 할 수 있도록 해 보고 싶습니다.
Reference
이 문제에 관하여(iOS에서 언더바가 있는 레이아웃을 만들어 보았습니다(Swift)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/NobToyo/items/9e0ae3516355cdf00dd9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이 구현 방법이 좋은지 전혀 모릅니다.
그래서 츳코미 부탁드립니다. 공부를 위해서도.
그리고, 지금은 색 지정만이므로, 높이 지정도 할 수 있도록 해 보고 싶습니다.
Reference
이 문제에 관하여(iOS에서 언더바가 있는 레이아웃을 만들어 보았습니다(Swift)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/NobToyo/items/9e0ae3516355cdf00dd9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)