2017-04-24 5 views
0

잘린 한 줄의 긴 텍스트가 있습니다 (byTruncatingMiddle). 그러나 그 문자열은 중간에 특정 문자를 가지고있어서 잘라내기를 원치 않습니다.텍스트의 특정 부분이 잘리지 않도록하십시오.

하자이 텍스트는 다음과 같습니다 말 :

FooFooFooFooFooFoo - BarBarBarBarBarBarBar 

지금 내가 대시를 제거하지 않고 텍스트를 잘라 싶습니다. 그래서 결과가이

FooFoo...-...arBarBar 

과 같아야는 Swift의 기본 도구가 가능하거나 꼬리와 별도로 머리를 UILabel 세 부분으로 분할 절단하는 내 유일한 방법은? 기본적으로

label.text = lblMessage.text.substring(0, maxChars) + "..." + lblMessage.text.substring(minChars, text.lenght) 

:이 작업을 수행 할 수

답변

0

디폴트 모드가 없습니다를 표시 할 수 있습니다 얼마나 많은 문자

  • 계산. 나는 같은 문제가 있었고 3 UILabels로 분리했다. 문자를 계산하는 것보다 훨씬 쉽습니다. 실제로 제약 조건을 설정하기 만하면 아무 것도 계산할 필요가 없습니다.

  • 0

    한 가지 방법은 라벨의 최대 글자 수를 그 수에 텍스트를 차지하고 "..."+ 남은 문자열 텍스트 등으로 추가입니다 논리는 다음과 같습니다.

    1. 레이블 프레임에 넣을 수있는 최대 문자를 찾습니다.
    2. 이제 레이블에 숫자 문자가 배치됩니다. 우리는 여기에 우리 자신의 truncation 로직을 처리 할 것입니다. 당신이 "..."로 상반기와 하반기
    3. Concate 두 문자열에