Swift

Swift - UIButton - Image, Title 위치 설정

iosos 2024. 9. 30. 16:53

 

UIButton.Configuration | Apple Developer Documentation

A configuration that specifies the appearance and behavior of a button and its contents.

developer.apple.com

 

 

1. 첫 번째 시도

  • 이미지는 버튼 기준 leading, top을 설정해서 위치를 고정하고 타이틀은 center 정렬
    • UIButton.Configuration.titleAlignment : 타이틀과 서브 타이틀의 정렬 방법   title의 정렬 방법이 아님
    • UIButton.titleEdgeInsets, UIButton.ImageEdgeInsets : iOS 15 이후 Deprecated
    → Image와 Title을 따로 두어 Title만 버튼의 중앙에 정렬하는 방법이 없는 것 같다

 

2. 두 번째 시도

  • 타이틀을 중앙이 아닌, 정해진 수치로 위치 설정
    1. Image와 Title 사이 패딩 추가: UIButton.Configuration.imagePadding
    2. 버튼 내부 contentInset 설정 : UIButton.Configuration.contentInsets
      • 버튼의 content 영역(Image, Title)에서 버튼의 경계까지의 여백 설정
      var config = UIButton.Configuration.plain()
      config.imagePadding = 69    // 이미지와 타이틀 사이의 패딩
      config.contentInsets = NSDirectionalEdgeInsets(top: 11, leading: 17, bottom: 13, trailing: 102)
    •  

 

 

3. 세 번째 시도

 

contentHorizontalAlignment | Apple Developer Documentation

The horizontal alignment of content within the control’s bounds.

developer.apple.com