2011-03-09 8 views
1

자동 줄 바꿈 횟수 (사용자가 반환하지 않음)를 계산하고 싶습니다. UITextView에 표시된 텍스트의 길이는 200 픽셀이고 길이는 460 픽셀입니다 (첨부 된 스크린 샷 참조). . 그것은 것,UITextView에서 줄 바꿈을 계산하는 방법 (/ n이 아님)?

stringSize = [t sizeWithFont:f constrainedToSize:CGSizeMake(320, 10000) 
lineBreakMode:UILineBreakModeWordWrap]; 

을하지만이 나에게 '보이지 않는'라인 브레이크를 int 번호를 제공하지 않습니다 솔루션을 찾고 때

나는이를 발견했다? 또한, 나는 320, 10000을 이해하지 못한다 ... 320은 내 생각에 너비가 200인데, 내 경우에는 200으로 변경해야한다. 그러나 왜 10.000 ??

미안 해요,하지만 난 초보자 해요이 나에게 많은 이해가되지 않습니다 ... enter image description here

+0

왜 줄 바꿈이 필요합니까? 해결하고자하는 상위 레벨의 문제는 무엇입니까? – DarkDust

+0

@DarkDust : 화면에 남은 공간이 얼마나되는지 알고 싶습니다. 나는 스크롤을 사용하고 싶지 않다. 그래서 페이지가 가득 차면 더 이상 표시 할 수없는 나머지 문자열을 잘라서 다음 페이지에 놓고 싶다. 너에게 이해가 되니? –

+0

그런데 줄의 수에 관해서, 당신은 텍스트의 높이를 걱정하지 않습니까? 그리고 당신은 이미'sizeWithFont : constrainedToSize :'로 높이를 얻습니다. – DarkDust

답변

1

CGSizeMake 문은 텍스트의 크기를 계산하기 위해 경계를 제공하는 것입니다. 너비를 제한하고 계산을위한 충분한 공간을 확보하기 위해 높이에 높은 값을 설정하는 것이 일반적입니다.

너비가 200이고 문자가 너무 길지 않은 경우 너비를 10000으로 둘 수 있습니다.

+0

고마워,하지만 내가 얼마나 많은 보이지 않는 라인 브레이크를 드러내는 CGSizeMake의 int를 얻는가? 이것이 명백하면 미안하지만, 보이지 않는 라인 브레이크를 결정하는데 이것이 어떻게 도움이되는지 나는 알 수 없다. –

+0

@Daniel Nicolae : 'sizeWithFont :'를 사용하여 한 줄의 높이를 구하십시오. (제약 조건없이 단 한 줄의 결과를 얻을 수 있습니다.) 그런 다음 제약 된 결과의 높이를 제약되지 않은 결과의 높이로 나눕니다. – DarkDust

+0

@DarkDusk : 아직 이해가 안가요, 두렵습니다. 나는 한 줄의 높이가 아니라 총 줄 수를 찾고있다. 예를 들어, 나의 예제에는 4 개의 라인이 있지만, 오직 하나의 '/ n'- 그래서 3 개의 보이지 않는 줄 바꿈이 있어야합니다. 어떻게 계산합니까? 귀찮게해서 미안해. –

관련 문제