위 예제를 통해 iOS7을 사용하여 UITextView 내부에 입력 할 때 줄 간격/단락 간격을 어떻게 얻을 수 있는지 이해할 수있었습니다. 그러나 문제가 있습니다. 아직 TextKit에 대해 배우면서 다른 사람이 문제 해결에 도움을 줄 수 있기를 바랍니다. 이 프로젝트는 내가 http://1drv.ms/1o8Rpd2iOS7 줄 간격이있는 UITextView에 입력하고 TextKit을 사용하여 서식을 유지하십시오.
2입니다 -이 문제의 비디오는
1입니다 - :
이것은 내가 2 개 파일을 첨부 https://github.com/downie/DoubleSpacedTextView
실제 예입니다 오전 시험 : http://1drv.ms/1o8RtK0
문제는 텍스트 줄 사이에 빈 줄이있는 경우입니다 t 2 빈 줄) 및 빈 줄 안쪽을 클릭하여 UITextView를 활성화하고 키보드를 표시하면 텍스트가 위로 이동하거나 서식이 손실됩니다.
이
나는 원래 약간 수정 된 핵심 기능이며, 당신이 UITextView 내에서 처음 클릭 할 때 완벽하게는 아니지만 서식이 작동 않습니다 -- (void) formatText
{
__block CGFloat topOffset = 0;
NSRange lineGlyphRange = [self.layoutManager glyphRangeForTextContainer:self.textContainer];
[self.layoutManager
enumerateLineFragmentsForGlyphRange:lineGlyphRange usingBlock:^(CGRect rect, CGRect usedRect, NSTextContainer *textContainer, NSRange glyphRange, BOOL *stop)
{
CGRect adjustedRect = rect;
CGRect adjustedUsedRect = usedRect;
adjustedRect.origin.y = topOffset;
adjustedUsedRect.origin.y = topOffset;
[self.layoutManager setLineFragmentRect:adjustedRect forGlyphRange:glyphRange usedRect:adjustedUsedRect];
topOffset += 30; // 30 is the space between the lines you can adjust this as you like
}];
CGRect adjustedExtraLineFragmentRect = self.layoutManager.extraLineFragmentRect;
CGRect adjustedExtraLineFragmentUsedRect = self.layoutManager.extraLineFragmentUsedRect;
adjustedExtraLineFragmentRect.origin.y = topOffset;
adjustedExtraLineFragmentUsedRect.origin.y = topOffset;
[self.layoutManager setExtraLineFragmentRect:adjustedExtraLineFragmentRect usedRect:adjustedExtraLineFragmentUsedRect textContainer:self.textContainer];
}
당신이 있는지 확인하십시오 수를 우리는 이것을 막을 수 있습니까? 그래서 우리가 UITextView에 입력 할 때 텍스트는 항상 형식화됩니다.
TextKit 또는 attributed Text?를 사용하여 UITextView에 형식이 지정된 텍스트 (줄 간격 포함)를 입력하는 방법을 보여주는 다른 예제가 있습니까?
저는 iOS6 이후이 문제로 고심하고 있습니다.
감사합니다,
이
문제가 명확하지 않은 경우 알려 주시면 문제의 이미지 또는 비디오를 만들려고합니다. 감사합니다. – Will
문제점에 대한 비디오와 문제점을 테스트 할 프로젝트를 추가했습니다. 감사합니다 – Will