일을 하다 보면 불가능해 보이는 것도 해야 되는 경우가 만타
나는 UISwitch의 비율을 조정함과 동시에 off 상태의 tint-color를 특정색으로 변경해야만 했었다.
근데 통상적으로 쓰이는 backgroundColor를 변경한 뒤 cornerRadius를 frame.height의 2로 나누고...어쩌구는
전혀 통하지 않았다...... 구글링하고 GPT를 쥐어뜯었으나... 내 뒷골만 땡길뿐이었다...
그러던 도중 찾게 된 한 게시글
https://taekki-dev.tistory.com/47
[iOS] UISwitch의 offTintColor 변경하기
🪴일반적인 방법 구글링을 하다보면 일반적으로 소개되는 방법은 다음과 같다. layer를 둥글게 만들어주지 않으면 네모 모양으로 칠해지기 때문에 둥글게 깎아줘야 한다. switch.backgroundColor = .blue
taekki-dev.tistory.com
이분께서 진짜 뒤로 넘어가실 뻔한 나를 살려 주셨다
누군가 이 글을 보고 뒷골 잡고 넘어가지 않기를...
switch.transform = CGAffineTransformMakeScale(0.8, 0.8);
우선 UISwitch의 비율은 위와 같이 변형할 수 있다.
일단 세로와 가로의 비율을 1:1로 맞추지 않으면 토글의 동그라미가 찌부되는 현상이 일어났기에...
참고해 주시면 될 듯합니다
그리고 나서는 윗 블로그 분의 코드를 GPT에게 부탁하여 objective C형식으로 변환하였다
UIView *backgroundView = switch.subviews.firstObject.subviews.firstObject;
backgroundView.backgroundColor = 원하는 색깔;
원하는 색깔 부분에는 UIColor를 넣으시면 됩니다람쥐
이렇게 하면 비율을 줄이고 나서도 UISwitch의 배경에 해당하는 부분의 backgroundColor를 직접 컨트롤 하므로, 아무런 문제가 생기지 않는다.......................
어렵다 어려워 어지럽다 어지러워 그래도 뭐 어떡해 해야지

오늘도 잘 해냈다!