UIButton의 Insets 설정이 잘못돼서 조사해봤어요.
btn.layer.cornerRadius = 16
btn.backgroundColor = UIColor.gray
btn.titleLabel?.font = UIFont.systemFont(ofSize: 28.0)
btn.titleEdgeInsets = UIEdgeInsetsMake(5.0, 7.0, 5.0, 7.0)
btn.titleLabel?.adjustsFontSizeToFitWidth = true
■ 지정titleEdgeInsets
처음에는 일본어만 이렇게 될 줄 알았는데 없는 것 같아요.글자수의 영향을 받은 것 같다.
그나저나 지정
titleEdgeInsets
이 없으면 문자 크기가 분산되지 않는다.■ 지정하지 않음
titleEdgeInsets
UIButton
반을 자세히 살펴보니 Insets를 지정할 수 있는 속성이 하나 더 있었다.바로 contentEdgeInsets
입니다.UIEdgeInsetsMake(5,7,5,7)가 아닌 titleEdgeInsets
를 지정해 보았습니다. 아래와 같습니다.■ 지정
contentEdgeInsets
Insets가 올바르게 설정된 것 같습니다.
나는 이런 현상에 대한 보도가 있는지 찾다가 스냅키트의 issue를 발견했다.그에서는 "아쉽게도 오토Layout
contentEdgeInsets
이 작동하지 않는다. 하지만 titleEdgeInsets
하면 가능하다. 또 contentEdgeInsets
를 다른 방법으로 사용하는 방법도 있다."이런 대화가 있었어요.최종적으로 이 issue를 제정한 사람intrinsicContentSize
의 일부분은 줄인 값을 지정하고titleEdgeInsets
로 부족한 부분을 보충했다.이 부분에 관해서는 본다어떤 Stackoverflow의 대답.고 할 수 있다.따라서 UIButton Inset이 순조롭지 않을 때 사용
contentEdgeInsets
을 연구해 보면 순조롭게 진행될 수 있다.
Reference
이 문제에 관하여(UIButton의 Insets 설정이 잘못돼서 조사해봤어요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/akatsuki174/items/d3b917dc65ed83f0d510텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)