2017-05-09 3 views
1

케이스로 들어가려면 UIButtons의 텍스트 오른쪽에 체크 표시가 있어야하며 확인 표시가 고정되어 있어야합니다 버튼 오른쪽 가장자리에서 길이. 설명하기 위해, 나는이 일을 해야하는 방법의 두 가지 이미지를 추가했습니다 :텍스트 오른쪽에 이미지가있는 UIButton, 뒤쪽 가장자리가 고정 된 꼬리 가장자리

enter image description here

당신이 볼 수 있듯이

enter image description here

, 체크 표시가 완벽하게 정렬 - 그래서 행복했다! 하지만 iphone6S PLUS 나 iPad에서 앱을 실행하면 체크 표시가 지저분 해집니다.

아이 스티 6S PLUS의 또 다른 이미지는 iPad에서 더욱 심하다는 것입니다. enter image description here

인터페이스 빌더 (AutoLayout)에서 체크 표시를 정렬 할 수 없어 코드에서 모든 이미지 추가 작업을 완료했습니다. 여기 내 코드는 버튼에 체크 표시를 적용하기위한,이다 :

let btnImage = UIImage(named: "checkmarkWhite") 

categoryButtonOne.setImage(btnImage, forState: UIControlState.Selected) 
categoryButtonOne.semanticContentAttribute = .ForceRightToLeft 
categoryButtonOne.imageEdgeInsets = UIEdgeInsetsMake(0, (categoryButtonOne.frame.width/2) - (btnImage?.size.width)! - 10, 0, 0) 

내 긴장은 (는 장치로 장치의 화면 크기에 따라 다르므로) 버튼의 길이를 얻고, 다음 이미지를 배치했다 같은 지점에서 모든 버튼을 ..하지만 당신이 본대로, 나는 정말로 성공하지 못했습니다.

누구나 체크 마크가 똑같이 배치되지 않는 이유에 대해 생각해보십시오. 모든 버튼에 대해 동일한 코드 행을 사용하여 이미지를 배치합니다. 버튼의 텍스트와 관련이 있습니까? 그렇다면 버튼을 텍스트를 무시하고 이미지를 올바르게 배치 할 수 있습니까?

+0

를 자동 레이아웃 사용 했 : 그렇지

, 당신은이 솔루션을 시도 할 수 있습니다? – KKRocks

+0

필자는 AutoLayout (미안, 인터페이스 빌더라고 부름)을 사용하여 텍스트를 왼쪽으로 정렬했지만, autolayout no ...에서 각 단추의 오른쪽에서 같은 거리에 이미지를 배치 할 수는 없었습니다./ –

+0

후행 제약 조건과 하단 제약 조건을 추가 했습니까? 이 두 제약 조건은 이미지 – KKRocks

답변

0

간단하고 쉬운 해결책 : 사용이 라벨에 보기, 이미지 사용자 터치/탭 동작 처리 (있는 UIButton 또는 제스처를 누릅니다) 할 수 & 실행 가능한 요소를 사용자 정의. 귀하의 요구 사항을 처리하는 것은 매우 쉽습니다.

귀하의 디자인에 따라 여기에 공유했습니다. 사용자 지정 셀에 UICollectionView을 사용하십시오. 사용자 정의보기보다 쉽습니다. 당신이 Align button image to right edge of UIButton

+0

감사합니다.하지만 가능한 경우 UIButtons를 사용하는 솔루션을 선호합니다. :) 그렇지 않은 경우 솔루션이 유용 할 수 있습니다. –

+0

Offcouse 버튼을 사용하지만 UIButton이 아닌 사용자 정의 된 버튼이 가능합니다. 단추의 너비는 화면 크기 (고정 크기 단추 아님)에 따라 유연하므로 UIButton은 원하는 정확한 솔루션을 제공하지 않습니다. – Krunal