2011-09-29 3 views
0

하위 쿼리는 다음과 같습니다.텍스트를 별도의 UITextView 페이지로 분할하는 방법은 무엇입니까?

UITextview의 기본 제공 내부 여백을 어떻게 결정합니까?

저는 UIScrollView 내에서 페이지간에 스크롤 할 수있는 별도의 UITextView 페이지로 분할하려고하는 긴 텍스트 문자열을 가지고 있습니다. 나는 UITextView에서 문자열의 높이가 무엇인지 확인하려면 다음 방법을 사용하여 문자열을 높이 한도를 초과 여부 :

-(NSNumber *)getHeightByWidth: (NSString *) myString 
        mySize: (UIFont *) mySize 
        myWidth: (NSNumber *) myWidth 

{ 
int intMyWidth = [myWidth intValue]; 

CGSize boundingSize = CGSizeMake(intMyWidth, CGFLOAT_MAX); 
CGSize requiredSize = [myString sizeWithFont:mySize constrainedToSize:boundingSize lineBreakMode:UILineBreakModeWordWrap]; 
NSNumber *retNumber = [[NSNumber alloc] initWithFloat:requiredSize.height]; 
return retNumber; 

[retNumber release]; 
} 

나는 mySize의 입력으로 다음 cellFont를 사용하여 getHeightByWidth의 메소드를 호출

UIFont *cellFont = [UIFont fontWithName:@"Arial" size:14.0]; 

UITextView 는 폭 320 픽셀,하지만 난 양쪽에 약 10 픽셀로 보면 내부 마진이 있기 때문에 텍스트가 오른쪽 가장자리로 왼쪽 가장자리에서 이동하지 않는 것을 알 수 있습니다. 그래서 getHeightByWidth를 호출하면 myWidth = (320 - 10 - 10)으로 설정됩니다. 그러나 UITextView에 맞게 문자열을 작성한 후에는 일반적으로 마스터 문자열의 다음 단어로 채울 수있는 마지막 행의 간격이 있습니다.

누구나 왜 텍스트의 마지막 줄에있는 이러한 간격이 UITextView에서이 프로세스를 사용하여 발생하는지 알 수 있습니까?

답변

0

기본 제공 여백은 contentInset 속성으로 표시됩니다.

또한 여백을 직접 구성 할 수 있습니다.

IB에서 텍스트보기를 사용하는 경우 콘텐츠 삽입물을 찾으십시오. 값은 0이어야하지만 일부 여백이 표시됩니다. -4 또는 -8과 같은 음수 값으로 설정하려고합니다. 코드에서

는, 당신은 당신이 적합 무엇을 발견에 따라이 값을 설정해야합니다 같은 -

myTextView.contentInset = UIEdgeInsetsMake(-4,-8,0,0); 

뭔가.

HTH,

하기 Akshay

+0

이 하위 질문에 대답하지 않습니다. UITextView의 여백이 이미 설정되어 있고 마진을 설정하는 방법이 아니라는 것을 알고 싶습니다. –

+0

대답은 내 답변 자체에 있습니다. 'contentInset' 속성은 여백을 나타내는'UIEdgeInsets'를 제공합니다. 내 대답 편집! – Akshay

+0

IB에서는 UITextView의 내용 삽입 값이 0으로 설정되어 있습니다. 그러나 텍스트가 UITextView의 가장자리에서 약 10 픽셀 씩 들여 쓰기되어 있습니다. 그래서이 10 픽셀 삽입 값이 무엇인지 판단하는 방법이 있습니까? –