문제 상황
- Saved Button의 이미지가 꽉 차지 않는 문제
// 저장 버튼
public lazy var btnSaved = UIButton().then { btn in
var config = UIButton.Configuration.plain()
config.image = UIImage(systemName: "bookmark.fill")
config.image?.withTintColor(.black)
btn.configuration = config
btn.imageView?.contentMode = .scaleAspectFit
btn.translatesAutoresizingMaskIntoConstraints = false
}
해결 과정
- UIButton.clipsToBounds : 하위 뷰가 뷰의 경계 내에 제한하는지 결정하는 bool 값
- true일 때 서브 뷰들은 뷰의 테두리 기준으로 잘림
- clipsToBounds, contentInsets 설정
// 저장 버튼
public lazy var btnSaved = UIButton().then { btn in
var config = UIButton.Configuration.plain()
config.image = UIImage(systemName: "bookmark.fill")
config.image?.withTintColor(.black)
config.contentInsets = NSDirectionalEdgeInsets(top: 0, leading: 0, bottom: 5, trailing: 0)
btn.configuration = config
btn.imageView?.contentMode = .scaleAspectFit
btn.clipsToBounds = true
btn.translatesAutoresizingMaskIntoConstraints = false
}
→ contentInsets을 설정하지 않으면 왼쪽과 같이 이미지가 잘림
config.contentInsets = NSDirectionalEdgeInsets(top: 0, leading: 0, bottom: 5, trailing: 0)
→ 버튼 내부 이미지의 위치를 바텀에서 5만큼 띄어주므로써 이미지가 잘리지 않음
참고 자료
'Swift' 카테고리의 다른 글
Swift - viewDidLayoutSubviews() (0) | 2024.10.20 |
---|---|
Swift - UISegmentControl, Content Width 조정 방법 (1) | 2024.10.20 |
Swift - TabBar 투명 문제 (0) | 2024.10.15 |
Swift - 내비게이션 화면 전환 시 애니메이션 지연 문제 (5) | 2024.10.09 |
Swift - TabBarItem 이미지 렌더링 이슈 (5) | 2024.10.09 |