2016-10-05 3 views
4

스토리 보드를 사용하여 UIView을 디자인하고 있습니다. 그러나 나는 작업을 고수했다. 나는 다중 행 UILabel, UIViewUIButton을 가지고있다. UILabel은 내 버튼을 감싸려고합니다. 텍스트의 첫 번째 줄에는 후행 제약 조건 인 UIButton이 있는데, 다른 하나는 수퍼 뷰입니다. 그리고 내 UILabel 텍스트가없는 경우 레이블의 맨 아래에 뷰가 있고이 뷰를 후행 제약 조건 UIButton으로 만들 필요가 있지만 여유 공간이 있다면 superview입니다. 스크린 샷 예 :다중 행 UILabel이 단추를 감싸도록하십시오.

나는 'PYAT'이후 두 번째 줄의 단어를 점프 할

enter image description here

. 나의 가난한 영어에 유감스럽게도 그 그림이 내 질문을 설명하는 데 도움이되기를 바랍니다. IB에서 직접 만들 수 있습니까?

+3

'UILabel' 대신'UITextView'를 사용하는 것이 좋습니다. (약간의 수정을 가하면'UILabel'처럼 보이고 작동 할 것입니다.)'yourTextView.textContainer.exclusionPaths'를 사용합니다. IB가 아닌 코드와 함께 있어야합니다. – Larme

+0

죄송합니다, interfacebuilder로 가능하지 않습니다. –

+0

@Jecky이 작업을 수행하는 방법에 대해 조언 해 주실 수 있습니까? Obj-c language –

답변

0

아마도 UILabel 대신 textView.textContainer.exclusionPaths 속성을 사용하여 UITextView 속성을 사용하여 제외 할 단추 컨테이너 영역을 정의 할 수 있습니다.

reported issue for selected and editable case으로 sample code을 살펴보십시오.

이 속성을 사용하는 경우 앱 배포 대상 최소값을 7 이상으로 제한해야한다는 점을 기억하십시오.

희망 하시겠습니까?

0

당신이하고 싶은 것은 UILabel을 서브 클래스 화하고 drawRect를 오버 라이딩해야하기 때문에 기본적으로 지원되지 않으며 많은 작업이 필요합니다.

쉽게 해결할 수있는 방법은 레이블에 속성이 지정된 텍스트를 설정하고이를 사용하여 특정 단어의 서식을 지정하여 단추처럼 보이게하는 것입니다. UILabel이 제공 한 텍스트는 하이퍼 링크와 같은 동작을 지원합니다.