24.07.08 Today I Learned
2024. 7. 8. 19:08
오늘은 카테고리를 커스텀하려고한다. 카테고리는 세그먼트를 사용하여 구현을 했는데
위 사진처럼 카테고리가 회색 배경이 있고 박스안에 갇힌거로 나와있다.
그래서 우선 배경을 지우기 위해 아래의 코드를 사용했다.
control.setBackgroundImage(UIImage(), for: .normal, barMetrics: .default)
control.setDividerImage(UIImage(), forLeftSegmentState: .normal, rightSegmentState: .normal, barMetrics: .default)
위 코드를 세그먼트 커스텀에 추가하여 배경을 하얗게 하고 줄로 나뉘는걸 없애주어서 투명하게 만들었다.
추가로 사용자가 선택한 카테고리로 넘어갈 때 밑줄을 추가하여 사용자가 어느 카테고리에 있는지를 추가하였다.
let underlineView: UIView = {
let view = UIView()
view.backgroundColor = .black
view.translatesAutoresizingMaskIntoConstraints = false
return view
}()
위 코드로 밑줄View를 생성해주고
// 밑줄 이동 메서드
func moveUnderline(to index: Int) {
let segmentWidth = segmentControl.frame.width / CGFloat(categories.count)
let leadingConstraint = segmentWidth * CGFloat(index)
UIView.animate(withDuration: 0.3) {
self.underlineView.snp.updateConstraints {
$0.leading.equalToSuperview().offset(leadingConstraint)
}
self.layoutIfNeeded()
}
}
밑줄이 사용자가 선택한 카테고리를 따라가게 만들었다.
오늘은 팀별 과제 발표를 했는데
발표 자료는 위 pdf다
'Today I Learned > 2024' 카테고리의 다른 글
24.07.15 Today I Learned (2) | 2024.07.15 |
---|---|
24.07.11 Today I Learned (0) | 2024.07.11 |
24.07.04 Today I Learned (0) | 2024.07.04 |
24.07.02 Today I Learned (0) | 2024.07.02 |
24.07.01 Today I Learned (0) | 2024.07.01 |