광어네 맛집
[ScrollView_TableView_AutoLayout] 셀 높이 관련 이슈 본문
이번 카테고리는 없는 길을 항해하는 느낌으로 포스팅을 할 예정!
제가 4차원으로 생각하는 경향이 있는 듯하여 나만의 카테고리를 만들면 어떨까 생각함
(물론.. 있는 내용일 수도 있고, 내가 못해서 그럴 수도 있지만 새롭게 무언가 발견할 수 있지 않을까 하여 ㅎㅎ..)
이슈: ScollView 안에 TableView를 넣고 TableView Cell을 automaticDimension으로 셀 높이 맞춰주고자 했음
+ 슬라이더 라이브러리를 Cell안에 넣고 싶은데 자꾸 크게 빠져나옴 (MultiSlider)
1. Cell에 이렇게 label만 잡아둔 상황이고
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
addSubview(title)
title.snp.makeConstraints {
$0.centerY.equalTo(self)
$0.leading.equalTo(self).inset(16)
$0.top.equalTo(self).inset(13)
}
}
2. 이렇게 Cell안에 slider를 추가하고자 함
self.contentView.addSubview(slider)
slider.snp.makeConstraints { make in
make.center.equalTo(self.contentView)
make.leading.trailing.equalTo(self.contentView).inset(16)
}
3. silder가 지 마음대로 밖으로 빠져나온거임 ㅡㅡ
혼자 해결하다가 안되서 주변 개발자분들께 도움을 청하니
TableView랑 ScrollView를 같이 쓰면 오류가 난다고 함
(왜냐면 TableView속성에 이미 ScrollView가 내장되어 있다고..)
근데 문제가 생겼을 때 되고 정석?인 방법으로 가는 것도 중요하지만
이런 저런 시도 다 해보는 것도 중요하다고 생각해서 저 분들 말을 뒤로 고집을 부림 ㅎㅎ..
해결 : 돌고 돌아서 했을 수도 있지만 구현함!
안됐던 이유는
1. 내가 layout을 잘못 잡아서...
automaticDimension을 잡을 때 가장 먼저 잡은 title을 한번에 잡아서
다시 설정해줘야 했던 거임
그래서 아래처럼 다시 잡아주고
self.title.snp.remakeConstraints {
$0.leading.equalTo(self).inset(16)
$0.top.equalTo(self).inset(13)
}
2. 그리고 내가 느끼기엔 라이브러리가 이상함
슬라이더를 내리니까 라이브러리에 쌓인 뷰가 다 깨진다고 해야하나
슬라이더 살짝 위에를 잡고 움직여야 슬라이더가 움직이고 ....
그래서 방법은 뷰를 하나 더 잡고 그 뷰에 라이브러리를 넣었음!
사실 결과가 이 사진임
사진을 보면 슬라이더 뒤에 뷰가 하나 생겨져 있는 걸 발견함
혹시나 해서 tableView DidSelect 설정해서 Cell클릭해보니
오잉..??
클릭은 됨ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
내가 새롭게 View를 만들어준 뒤에 라이브러리 silder를 넣어줘서 그랬던 거임
이걸 더 깔끔하게 하고 싶으면 만들어놓은 View에 잘라주면 깔끔하게 나옴
let testView = UIView().then {
$0.layer.masksToBounds = true
}
이게 최종 뷰!
'Swift > navigator👨🏻✈️' 카테고리의 다른 글
[FastLane]Auto upload TestFlight _ 02 (외부 테스팅 추가) (0) | 2022.06.03 |
---|---|
[Library Error]라이브러리 만들기 (0) | 2022.04.18 |
[FastLane]Auto upload TestFlight (1) | 2022.04.14 |
[Code UI] UIView 순서 바꾸기 (0) | 2022.03.08 |
[Notification Push] FCM Push 알림 들어올 때 분기처리 AppDelegate (1) | 2022.02.25 |